
在本文中,您将了解 Promise.all() 方法与 JavaScript 中的 Promise.allSettled() 方法有何不同。
Promise.all() 方法接受一个或多个 Promise 作为输入并返回一个 Promise。当所有输入的承诺都得到履行时,返回的承诺就会履行。当任何输入的承诺被拒绝时,它会拒绝承诺,并给出第一个拒绝原因。
Promise.allSettled() 方法接受一个或多个 Promise 作为输入并返回一个 Promise。当所有输入的承诺都解决时(包括传递空的可迭代对象时),返回的承诺就会履行,并带有描述每个承诺结果的对象数组。
示例 1
在这个示例中,我们来看看 Promise.all 方法是如何工作的。
立即学习“Java免费学习笔记(深入)”;
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() 方法。
简单好用的立体式banner切换插件下载效果描述: 简单好用的立体式左右滚动banner焦点图效果 源代码没有任何图片,且CSS较为冗余,懒人站长已经做过优化,方便懒人们使用 使用方法: 1、将CSS引入到你的页面中,保证命名不冲突 2、将index.html中代码部分拷贝到你需要的地方即可
第 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 步 - 将承诺值显示为结果。










