溫馨提示×

jQuery each中如何處理異步操作

小樊
81
2024-10-12 08:54:59
欄目: 編程語言

在 jQuery 的 each 函數(shù)中處理異步操作,可以通過以下方法實現(xiàn):

  1. 使用 Promise.all:當(dāng)有多個異步操作時,可以使用 Promise.all 等待所有異步操作完成后再執(zhí)行后續(xù)代碼。
const asyncOperation1 = $.ajax({ url: 'someUrl1' });
const asyncOperation2 = $.ajax({ url: 'someUrl2' });

Promise.all([asyncOperation1, asyncOperation2])
  .then((results) => {
    const [data1, data2] = results;
    // 在這里處理異步操作的結(jié)果
  })
  .catch((error) => {
    console.error('Error:', error);
  });
  1. 使用 async/await:將 each 函數(shù)改為異步函數(shù),并使用 await 等待異步操作完成。
async function handleAsyncOperations(array) {
  for (const item of array) {
    const result = await $.ajax({ url: item.url });
    // 在這里處理異步操作的結(jié)果
  }
}

const items = [
  { url: 'someUrl1' },
  { url: 'someUrl2' },
];

handleAsyncOperations(items);

請注意,使用 async/await 時需要確保在異步函數(shù)內(nèi)部使用 await,并且在調(diào)用異步函數(shù)時不要使用 return,而是使用 resolvereject。

0