首页 > web前端 > js教程 > 正文

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

WBOY
发布: 2023-08-25 11:45:05
转载
822 人浏览过

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
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!