async/await 怎么用,如何捕获异常?

2020-12-18  本文已影响0人  浪味仙儿啊

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呢?

因为更像同步函数。

上一篇 下一篇

猜你喜欢

热点阅读