Promise.all()方方详解

简介: Promise.all()方方详解

1.Promise.all()方方详解


Promise.all,只有所有的Promise成功,才能够算作成功,只要有一个失败了,就直接失败;


它包含一个参数,这个参数是指包含多个Promise的数组;


如果有一个失败,那么返回第一个失败的Promise对象作为结果;


也就是说,如果有两个失败了,返回第一个失败的Promise对象作为失败的结果。


如果他们三个都是成功的,那么all方法的返回的结果;是他们三个Promise对象成功结果的组成的一个数组;


2.都是成功


let p1 = new Promise((resolve, reject) => {
    resolve('ok1')
})
let p2 = new Promise((resolve, reject) => {
    resolve('ok2')
})
let p3 = new Promise((resolve, reject) => {
    resolve('ok3')
})
const result = Promise.all([p1, p2, p3]);
console.log(result)


1425695-20210417174916298-716693759.png


3.有一个Promise失败


let p1 = new Promise((resolve, reject) => {
    resolve('ok1')
})
let p2 = new Promise((resolve, reject) => {
    reject('ok2')
})
let p3 = new Promise((resolve, reject) => {
    resolve('ok3')
})
const result = Promise.all([p1, p2, p3]);
console.log(result)


1425695-20210417175018945-787581750.png

promise.all在实际场景上的运用


由于promise在所有的结果都是成功;


才算做成功


我们可以利用他的这个特征


去做全部成功才可以去完成某一个逻辑操作的业务场景



相关文章
|
7月前
|
存储 前端开发 算法
promise.all是怎实现的?
promise.all是怎实现的?
74 0
|
14天前
|
前端开发 索引
Promise.all() 方法的参数可以是什么类型?
综上所述,`Promise.all()` 方法的参数类型较为灵活,但无论使用哪种类型的可迭代对象作为参数,其核心的异步操作处理逻辑和成功失败的判断机制都是一致的,都是为了方便地处理多个异步操作的并发执行和结果汇总。
|
9天前
|
前端开发
`Promise.allSettled()`方法与`Promise.all()`方法有何不同?
`Promise.allSettled()` 提供了一种更灵活和全面的方式来处理多个 `Promise`,使得我们能够更好地应对各种异步操作的情况,尤其是需要详细了解每个 `Promise` 结果的场景。
|
4天前
|
监控 调度
在什么情况下应该使用 Promise.allSettled() 方法?
总的来说,`Promise.allSettled()` 为我们处理多个异步任务提供了一种更灵活、更全面的方式,使我们能够更好地应对各种复杂的情况,确保在获取到所有任务结果的同时,能够进行更有效的后续处理和决策。
|
27天前
|
前端开发
使用 Promise.all 处理多个 Promise 同时失败的情况
【10月更文挑战第26天】通过以上几种方法,我们可以根据具体的需求和环境选择合适的方式来处理多个 `Promise` 同时失败的情况,从而更好地进行错误处理和程序的稳定性保障。
106 2
|
4月前
|
前端开发
手写实现ES6的Promise.all()和Promise.race()函数
这篇文章介绍了如何手写实现ES6的`Promise.all()`和`Promise.race()`函数,提供了实现这两个Promise聚合函数的详细代码示例,并展示了如何使用它们。
手写实现ES6的Promise.all()和Promise.race()函数
|
5月前
|
前端开发 JavaScript
js【详解】Promise(含 Promise 的三种状态及其变化,创建 Promise, Promise.all 语法、Promise.all 实战范例、手写 Promise.all)
js【详解】Promise(含 Promise 的三种状态及其变化,创建 Promise, Promise.all 语法、Promise.all 实战范例、手写 Promise.all)
623 0
|
7月前
|
前端开发 JavaScript
掌握 Promise.all:优雅处理多个异步操作
掌握 Promise.all:优雅处理多个异步操作
Promise.all和Promise.race的区别和使用
比如当数组里的P1,P2都执行完成时,页面才显示。 值得注意的是,返回的数组结果顺序不会改变,即使P2的返回要比P1的返回快,顺序依然是P1,P2 Promise.all成功返回成功数组, 失败返回失败数据,一但失败就不会继续往下走
|
前端开发
前端学习案例24-promise.all和promise.race之2
前端学习案例24-promise.all和promise.race之2
85 0
前端学习案例24-promise.all和promise.race之2