美文网首页
async/await 怎么用,如何捕获异常?

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

作者: 浪味仙儿啊 | 来源:发表于2020-12-18 14:20 被阅读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呢?

    因为更像同步函数。

    相关文章

      网友评论

          本文标题:async/await 怎么用,如何捕获异常?

          本文链接:https://www.haomeiwen.com/subject/qrgxnktx.html