来源MDN Promise的方法调用
<script type="text/javascript">
let p1 = new Promise((resolve, reject)=>{ reject("调用失败")})
let p2 = new Promise((resolve, reject)=>{ resolve("调用成功")})
let p3 = new Promise((resolve, reject)=>{ setTimeout(resolve,500,"p3调用成功")})
let p4 = new Promise((resolve, reject)=>{ setTimeout(resolve,100,"p4调用成功")})
// Promise.any 只要有一个成功,就返回成功回调的值
Promise.any([p1,p2,p3]).then(res =>{
console.log("Promise.any",res);
})
// Promise.all 只有当所有的Promise返回的时候才会成功
Promise.all([p1,p2,p3]).then(res =>{
console.log("Promise.all",res);
}).catch(err =>{
console.log(err);
})
// Promise.race 如果有多个Promise实例,最先完成的Promise会优先被兑现
Promise.race([p3,p4]).then(res =>{
console.log(res);
})
// Promise.resolve 是Promise成功的回调
Promise.resolve("fulfilled").then(res =>{
console.log("resolve",res);
})
Promise.resolve([1,2,3]).then(res =>{
console.log("resolve",res);
})
// Promise.rejected 是Promise实例拒绝的回调
Promise.reject("rejected").then(res =>{
console.log("rejected",res);
}).catch(res =>{
console.log("rejected",res);
})
</script>