日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

我們將在本教程中了解 Promise 的 any() 方法。在 JavaScript 中,我們可以使用 Promise 來處理異步請求。在我們的應用程序中編寫異步代碼來獲取數據可以加快速度,因為它無需等待數據即可執行其他代碼。

Promise.any() 方法

正如any()方法的名稱所示,它將執行任何已履行的承諾。因此,無論哪個 Promise 首先解析,都將由 Promise.any() 方法執行,而其他 Promise 可能會也可能不會執行。此外,所有被拒絕的 Promise 都不會被 Promise.any() 方法執行。

語法

用戶可以按照以下語法使用promise.any()方法。

Promise.any(Array_of_promise).then(
   // handle result
)

登錄后復制

在上面的語法中,我們可以處理“then”塊中任何 Promise 返回的結果。

參數

    Array_of_promise – 它包含多個 Promise,其中能夠快速解決的將由 any() 方法執行。

    帶有異步等待的 Promise.any()

    JavaScript 中的 async 和await 關鍵字用于處理異步代碼。 async 用在函數定義之前,表示該函數是異步的并且將返回一個 Promise。 wait 用于異步函數內部,以暫停執行,直到滿足指定的 Promise。

    語法

    以下是在 JavaScript 中使用 Promise.any() 方法和 async-await 的語法:

    async function example() {
       try {
          const result = await Promise.any([promise1, promise2, ...]);
       } catch (error) {
          // handle error
       }
    }
    

    登錄后復制

    這里,promise1promise2等等是你想要等待的promise。 Promise.any 方法返回一個 Promise,該 Promise 使用要解析的第一個輸入 Promise 的值進行解析,或者如果所有輸入 Promise 都拒絕,則使用已拒絕的所有輸入 Promise 的數組來拒絕。

    示例 1

    在下面的示例中,我們使用 Promise() 構造函數創建了不同的 Promise。我們拒絕了promise_2并解決了其他promise,并且我們在兩毫秒后解決了promise_3。因此,promise_1將首先成功執行。

    在輸出中,我們可以觀察到any()方法打印了promise_1的結果,因為它將提前得到解決。

    <html>
    <body>
       <h2> Using the Promise.any() Method </h2>
       <div id="output"> </div>
       <script>
          let promise_1 = new Promise((res, rej) => {
             res("Resolved promise with time of 0 milliseconds");
          });
          let promise_2 = new Promise((res, rej) =>
          rej("This promise is rejected!")
          );
          let promise_3 = new Promise((res, rej) => {
             setTimeout(() => {
                res("Resolved promise with time of 2000 milliseconds");
             }, 2000);
          });
          // resolving the promises
          Promise.any([promise_1, promise_2, promise_3]).then((response) => {
             document.getElementById("output").innerHTML += response;
          });
       </script>
    </body>
    </html>
    

    登錄后復制

    示例 2

    在下面的示例中,我們創建了異步函數 getData()。在這里,我們使用 fetch() 方法創建了多個 Promise 的數組和 Promise。

    我們正在從實時 API 獲取數據。請求數組包含三個 Promise,但在輸出中,我們可以觀察到結果不是可迭代對象,并且僅包含早期解析的 Promise 的響應。

    <html>
    <body>
       <h2>Using Promise.any() with async-await </h2>
       <button onclick="getData()"> Fetch any one promise Data </button>
       <div id="output"> </div>
       <script>
          async function getData() {
             try {
                // multiple promises
                const requests = [
                   fetch("https://jsonplaceholder.typicode.com/todos/1"),
                   fetch("https://jsonplaceholder.typicode.com/todos/2"),
                   fetch("https://jsonplaceholder.typicode.com/todos/3"),
                ];
                const result = await Promise.any(requests);
                document.getElementById("output").innerHTML =
                "The status of result is " + result.status;
             } 
             catch (error) {
                document.getElementById("output").innerHTML = error;
             }
          }
       </script>
    </body>
    </html>
    

    登錄后復制

    在此示例中,getData 函數使用 Promise.any() 創建一個 Promise,該 Promise 由要實現的三個 fetch Promise 中的第一個實現。然后該函數使用await關鍵字等待Promise被履行并記錄響應文本。如果任何 Promise 被拒絕,catch 塊將被執行并將錯誤記錄到控制臺。

    將 Promise.any() 與 async 和 wait 一起使用可以是一種以簡潔且可讀的方式處理多個 Promise 的有用方法。它允許您指定一組 Promise 并處理第一個已實現的 Promise,同時忽略其他 Promise。

    我們在本教程中學習了如何使用 any() Promise 方法。使用 any() 方法的目標是執行已解決的 Promise 中的唯一方法。

    以上就是在 JavaScript 中解釋 Promise.any() 和 async-await ?的詳細內容,更多請關注www.92cms.cn其它相關文章!

分享到:
標簽:async await javascript Promise 解釋
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定