首页  >  文章  >  web前端  >  JavaScript 中的 Promise.all() 方法与 Promise.allSettled() 方法有何不同?

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

WBOY
WBOY转载
2023-08-25 11:45:05823浏览

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删除