首頁 >web前端 >js教程 >JavaScript 中的 Promise.all() 方法與 Promise.allSettled() 方法有何不同?

JavaScript 中的 Promise.all() 方法與 Promise.allSettled() 方法有何不同?

WBOY
WBOY轉載
2023-08-25 11:45:05859瀏覽

JavaScript 中的 Promise.all() 方法与 Promise.allSettled() 方法有何不同?

在本文中,您將了解 Promise.all() 方法與 JavaScript 中的 Promise.allSettled() 方法有何不同。

Promise.all() 方法接受一個或多個 Promise 作為輸入並傳回一個 Promise。當所有輸入的承諾都得到履行時,返回的承諾就會履行。當任何輸入的承諾被拒絕時,它會拒絕承諾,並給出第一個拒絕原因。

Promise.allSettled() 方法接受一個或多個 Promise 作為輸入並傳回一個 Promise。當所有輸入的承諾都解決時(包括傳遞空的可迭代物件時),傳回的承諾就會履行,並帶有描述每個承諾結果的物件陣列。

範例 1

在這個範例中,我們來看看 Promise.all 方法是如何運作的。

console.log("Defining three promise values: promise1, promise2 and promise3");
const promise1 = Promise.resolve(1);
const promise2 = new Promise((resolve, reject) => {
   setTimeout(resolve, 2 , 'Promise Two');
});
const promise3 = 3;

console.log("Running Promise.all method on all the three promise values")

Promise.all([promise1, promise2, promise3]).then((values) => console.log(values));

說明

  • 第 1 步 - 定義三個 Promise 值,即 Promise1、Promise2、Promise3 並在它們上新增值。

  • 第 2 步 - 對所有 Promise 值執行 Promise.all() 方法。

  • 第 3 步 - 將承諾值顯示為結果。

範例 2

在這個例子中,我們來看看 Promise.allSettled 方法是如何運作的

console.log("Defining three promise values: promise1, promise2 and promise3");
const promise1 = Promise.resolve(1);
const promise2 = new Promise((resolve, reject) => {
   setTimeout(resolve, 2 , 'Promise Two');
});
const promise3 = 3;

console.log("Running Promise.allSettled method on all the three promise values")

Promise.allSettled([promise1, promise2, promise3]).then((values) => console.log(values));

說明

  • 第 1 步 - 定義三個 Promise 值,即 Promise1、Promise2、Promise3 並在它們上新增值。

  • 第 2 步 - 對所有 Promise 值執行 Promise.allSettled() 方法。

  • 第 3 步 - 將承諾值顯示為結果。

以上是JavaScript 中的 Promise.all() 方法與 Promise.allSettled() 方法有何不同?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除