async/await可以和Promise结合在一起用
function 摇色子(){
return new Promise((resolve,reject)=>{
setTimeout(()=>{
let n = parseInt(Math.random() *6 +1,10)
resolve(n)
},3000)
})
}
async function test(){
let n = await 摇色子()
console.log(n)
}
test()
await只能放在async函数里面
用try catch可以捕获异常
function 猜大小(){
return new Promise((resolve,reject)=>{
setTimeout(()=>{
let n = parseInt(Math.random() *6 +1,10)
if(n>3){
if(猜测 === "大"){
resolve(n)
}else{
reject(n)
}
}else{
if(猜测 === "小"){
resolve(n)
}else{
reject(n)
}
}
},3000)
})
}
async function test(){
try{
let n = await 猜大小("大")
console.log("好嗨哟" + n)
}catch(error){
console.log("输光了" + error)
}
}
test()
但需要猜测两次以上大小时,得用promise.all或promise.race
那为什么要用async/await呢?
因为更像同步函数。
网友评论