做网站哪家,建筑行业官网,文字网页游戏,外贸soho做网站怎么做41.说说Promise自身的静态方法
Promise.all #xff08;有一个失败就失败#xff0c;所有的都成功就成功#xff09;Promise.race #xff08;有一个成功就成功#xff0c;有一个失败就失败#xff09;Promise.allSettled #xff08;所有的异步操作执行完毕之后#…41.说说Promise自身的静态方法
Promise.all 有一个失败就失败所有的都成功就成功Promise.race 有一个成功就成功有一个失败就失败Promise.allSettled 所有的异步操作执行完毕之后才返回Promise.any 只要有一个成功就成功所有的都失败才失败Promise.resolve 返回一个成功状态的promise对象Promise.reject (返回一个失败状态的promise对象)
验证
Promise.all 一个失败及失败都成功则成功 /* 1. Promise.all 一个失败及失败都成功则成功 */
var a1 Promise.resolve(1)
var a2 Promise.resolve(2)
var a3 Promise.resolve(3)
var a4 Promise.resolve(4)console.log(Promise.all([a1, a2, a3, a4]))
// [1,2,3,4]var a1 Promise.resolve(1)
var a2 Promise.reject(2)
var a3 Promise.resolve(3)
var a4 Promise.resolve(4)console.log(Promise.all([a1, a2, a3, a4]))
// 报错 返回 2
2. Promise.race 一个状态变化就立刻返回 /* 2. Promise.race 一个状态变化就立刻返回*/
var a1 Promise.resolve(1)
var a2 Promise.resolve(2)
var a3 Promise.resolve(3)
var a4 Promise.resolve(4)
console.log(Promise.race([a1, a2, a3, a4]))
// 1var a1 Promise.reject(2)
var a2 Promise.reject(2)
var a3 Promise.resolve(3)
var a4 Promise.resolve(4)
console.log(Promise.race([a1, a2, a3, a4]))
// 2
3. Promise.allSettled 状态都变化完毕后再返回
/* 3. Promise.allSettled 状态都变化完毕后再返回 */
var a1 Promise.resolve(1)
var a2 Promise.resolve(2)
var a3 Promise.resolve(3)
var a4 Promise.resolve(4)
console.log(Promise.allSettled([a1, a2, a3, a4]))
// [1,2,3,4]var a1 Promise.resolve(1)
var a2 Promise.reject(2)
var a3 Promise.resolve(3)
var a4 Promise.resolve(4)
console.log(Promise.allSettled([a1, a2, a3, a4]))
// [1,2,3,4] // 其中reject的状态为失败其他的状态为成功4. Promise.any 一个成功及成功都失败则失败和all相反 /* 4. Promise.any 一个成功及成功都失败则失败和all相反 */
var a1 Promise.resolve(1)
var a2 Promise.resolve(2)
var a3 Promise.resolve(3)
var a4 Promise.resolve(4)
console.log(Promise.any([a1, a2, a3, a4]))
// 1var a1 Promise.reject(1)
var a2 Promise.reject(2)
var a3 Promise.resolve(3)
var a4 Promise.resolve(4)
console.log(Promise.any([a1, a2, a3, a4]))
// 2 var a1 Promise.reject(1)
var a2 Promise.reject(2)
var a3 Promise.reject(3)
var a4 Promise.reject(4)
console.log(Promise.any([a1, a2, a3, a4]))
// 失败状态 AggregateError: All promises were rejected