Promise.all基本用法:
var p1=new Promise((resolve,reject)=>{
setTimeout(()=>{
console.log(1)
resolve(10)
},2000)
})
var p2=new Promise((resolve,reject)=>{
setTimeout(()=>{
console.log(2)
resolve(20)
},3500)
})
Promise.all([p1,p2]).then((a)=>{
console.log(a[0]+a[1])
})
打印:1------2-----30 |P1和P2执行完以后,才会执行最后一个
Promise.race基本用法:
var p1=new Promise((resolve,reject)=>{
setTimeout(()=>{
console.log(1)
resolve(10)
},2000)
})
var p2=new Promise((resolve,reject)=>{
setTimeout(()=>{
console.log(2)
resolve(20)
},3500)
})
Promise.race([p1,p2]).then((a)=>{
console.log(a)
})
打印:1------10-----2|无论P1或者P2 只要有一个执行结束,最后一个就会执行
直接调用成功状态:
Promise.resolve().then(()=>{
console.log('成功状态')
})
函异步函数:
async function fn(){
var v=await new Promise((resolve,reject)=>{
setTimeout(()=>{
var a=10;
resolve(a);
},2000)
})
console.log(v)
}
fn()
----------------------------------------------
async function fn(){
var v=await syncs(20)
console.log(v)
}
function syncs(t){
return new Promise((resolve,reject)=>{
setTimeout(()=>{
var a=t;
resolve(a);
},2000)
})
}
fn()
网友评论