const p1=new promise((resolve,reject)=>{
resolve("错误")
})
const p2=new promise((resolve,reject)=>{
resolve("错误")
})
const p3=new promise((resolve,reject)=>{
resolve("错误")
})
返回如果有成功的,返回第一个成功的promise,如果没有就返回失败的promise
Promise.race([p1,p2,p3]).then((values)=>{
console.log(values)
})
返回第一个成功的promise,如果没有成功promise就返回一个错误
Promise.race([p1,p2,p3]).then((values)=>{
console.log(values)
})
只要有失败的promise就返回第一个失败的promise
Promise.all([p1,p2,p3]).then((values)=>{
console.log(values)
})
不论成功失败返回promise的状态
Promise.allsettled([p1,p2,p3]).then((values)=>{
console.log(values)
})
promise支持链式调用
const p1=new promise((resolve,reject)=>{
setTimeout(()=>{
try{
resolve("成功")
}catch(err){
reject("失败")
}
},10000)
})
p1.then((resolve,reject)=>{
console.log("成功")
}).catch(()=>{
console.log("失败")
}).finally(()=>{
console.log("风雨无阻都执行")
})
p1.then((value)=>{
console.log("1111")
},(err)=>{
console.log("2222")
})
console.log(p1);