async/await可以和Promise結(jié)合在一起用
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函數(shù)里面
用try catch可以捕獲異常
function 猜大小(){
return new Promise((resolve,reject)=>{
setTimeout(()=>{
let n = parseInt(Math.random() *6 +1,10)
if(n>3){
if(猜測(cè) === "大"){
resolve(n)
}else{
reject(n)
}
}else{
if(猜測(cè) === "小"){
resolve(n)
}else{
reject(n)
}
}
},3000)
})
}
async function test(){
try{
let n = await 猜大小("大")
console.log("好嗨喲" + n)
}catch(error){
console.log("輸光了" + error)
}
}
test()
但需要猜測(cè)兩次以上大小時(shí)智厌,得用promise.all或promise.race
那為什么要用async/await呢诲泌?
因?yàn)楦裢胶瘮?shù)。