美文网首页
async await 配合promise封装异步方法

async await 配合promise封装异步方法

作者: 磨人的磨磨虫 | 来源:发表于2019-03-28 17:57 被阅读0次

废话不多说直接上代码:

function test(mark){
  return new Promise((resolve, reject)=>{
    if(mark){
      setTimeout(()=>{
         let data={
           code:0,
           id:666,
           title:'测试' 
         }   
         resolve(data)
      },800)
    }else{
      reject({
        code:-1,
        msg:'参数异常'
      })
    }
  })
}

(async ()=>{
  try{
    console.log(1)
    let data=await test(true)
    console.log(2)
    console.log(data)   
    //执行结果
    //1
    //2
    //{code:0,id:666, title:'测试' }
 
    let data2=await test(false)
  }catch(e){
    console.log(e)//{code:-1,msg:'参数异常'}
  }
  
})()

看了代码发现我加了try catch,为什么呢,因为test函数return 的不一定是 json数据 当不满足条件执行执行后会reject是promise本身,所以会导致后面let data2=await test(false) 报错。

相关文章

  • async await 配合promise封装异步方法

    废话不多说直接上代码: 看了代码发现我加了try catch,为什么呢,因为test函数return 的不一定是...

  • Promise和async/await

    Promise和async/await都是异步处理的方法。async/await看起来更简单易用。 Promise...

  • Async/Await VS Promise

    Async/Await VS Promise Async/await 是一种编写异步代码的新方法。之前异步代码的方...

  • Async/Await替代Promise的6个理由

    Async/Await简介 async/await是写异步代码的新方式,以前的方法有回调函数和Promise。 a...

  • Async/Await简介与用法

    简介 async/await是写异步代码的新方式,以前的方法有回调函数和Promise。 async/await是...

  • Promise和async\await

    回调函数 用来处理异步问题,例如发送Ajax,setTimeout等 Promise 封装的例子 async\await

  • ES8(一) —— async&await

    目录 async和普通函数的区别 await async/await处理多回调异步 async和await必须配合...

  • ES7 async await

    async await:用同步的方式来写异步async函数返回一个 Promise 对象,可以使用then方法添加...

  • 总结知识点

    1:promise解决了回调地狱和异步async和await var promise = new Promise(...

  • promise async await

    promise async await 使异步方法像同步方法那样返回值:异步方法不会立即返回最终的值,而是返回一个...

网友评论

      本文标题:async await 配合promise封装异步方法

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