在 jQuery 的 each
函数中处理异步操作,可以通过以下方法实现:
- 使用
Promise.all
:当有多个异步操作时,可以使用Promise.all
等待所有异步操作完成后再执行后续代码。
const asyncOperation1 = $.ajax({ url: 'someUrl1' }); const asyncOperation2 = $.ajax({ url: 'someUrl2' }); Promise.all([asyncOperation1, asyncOperation2]) .then((results) => { const [data1, data2] = results; // 在这里处理异步操作的结果 }) .catch((error) => { console.error('Error:', error); });
- 使用
async/await
:将each
函数改为异步函数,并使用await
等待异步操作完成。
async function handleAsyncOperations(array) { for (const item of array) { const result = await $.ajax({ url: item.url }); // 在这里处理异步操作的结果 } } const items = [ { url: 'someUrl1' }, { url: 'someUrl2' }, ]; handleAsyncOperations(items);
请注意,使用 async/await
时需要确保在异步函数内部使用 await
,并且在调用异步函数时不要使用 return
,而是使用 resolve
或 reject
。