<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Promise.allSettled()

          共 1712字,需瀏覽 4分鐘

           ·

          2024-06-10 08:00


          Promise.allSettled() 是 JavaScript 中的一個方法,用于處理多個 Promise,并且在所有 Promise 都已被處理(無論是成功還是失?。┲蠓祷匾粋€ Promise 對象。與 Promise.all() 不同,Promise.allSettled() 不會在某個 Promise 被拒絕時(shí)立即失敗,而是等待所有 Promise 都完成。

          語法

          Promise.allSettled(iterable);

          ?iterable 是一個可迭代對象(如數(shù)組),其中的每個元素都是一個 Promise。

          返回值

          返回一個新的 Promise,該 Promise 在所有給定的 Promise 都已被處理之后完成,并且返回一個數(shù)組對象,每個對象對應(yīng)于每個 Promise 的結(jié)果。

          結(jié)果對象

          每個結(jié)果對象有兩個屬性:

          ?status: 表示 Promise 的最終狀態(tài),可以是 "fulfilled" 或 "rejected"。?value: 如果狀態(tài)是 "fulfilled",則包含 Promise 的值。?reason: 如果狀態(tài)是 "rejected",則包含拒絕的原因。

          示例

          const promise1 = Promise.resolve(100);const promise2 = Promise.reject('Error occurred');const promise3 = Promise.resolve(200);
          Promise.allSettled([promise1, promise2, promise3]) .then((results) => { results.forEach((result) => { if (result.status === 'fulfilled') { console.log(`Fulfilled with value: ${result.value}`); } else { console.log(`Rejected with reason: ${result.reason}`); } }); });


          在這個示例中,Promise.allSettled() 會等待 promise1、promise2 和 promise3 都完成。然后,它會返回一個包含每個 Promise 結(jié)果的數(shù)組,并且每個結(jié)果對象會包含 status 和 value 或 reason 屬性。

          使用場景

          Promise.allSettled() 非常適合在你需要等待多個異步操作完成,但這些操作的成功與否并不影響其他操作時(shí)。例如:

          ?當(dāng)你需要獲取多個 API 的響應(yīng),并且每個響應(yīng)的成功或失敗都不應(yīng)該阻止其他響應(yīng)的處理。?當(dāng)你需要記錄多個異步操作的結(jié)果,無論它們是否成功。

          對比 Promise.all()

          ?Promise.all(): 如果任何一個 Promise 被拒絕,整個返回的 Promise 就會被拒絕。?Promise.allSettled(): 等待所有 Promise 都完成,不論它們的結(jié)果是成功還是失敗。

          小結(jié)

          Promise.allSettled() 提供了一種處理多個異步操作的靈活方式,使你能夠在所有操作完成后統(tǒng)一處理結(jié)果,而不必?fù)?dān)心其中某一個操作失敗會影響整體流程。

          瀏覽 39
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  爱骚逼黄色视频 | 看美女日逼| 欧美伦理一区二区三区 | 污污又黄又爽的网站免费 | 中文av中文字幕 中文一级久久黄色 |