美文网首页
Es6 async 函数

Es6 async 函数

作者: IT锟 | 来源:发表于2018-10-09 13:32 被阅读16次
    图片来源于网络

    1、 async函数返回一个 Promise 对象。

    async function f() {
      return 'hello world';
    }
    
    f().then(v => console.log(v))
    // "hello world"
    

    2、async函数内部抛出错误,会导致返回的 Promise 对象变为reject状态。抛出的错误对象会被catch方法回调函数接收到。

    async function f() {
      throw new Error('出错了');
    }
    
    f().then(
      v => console.log(v),
      e => console.log(e)
    )
    // Error: 出错了
    

    3、只有async函数内部的异步操作执行完,才会执行then方法指定的回调函数。

    //网络请求
    function request(){
        return $.ajax({
            url:"./data.json",
            type: 'post',
            dataType: 'json',
            success: function (data, status) {
                return data
            },
            fail: function (err, status) {
                return err
            }
        })
    }
    
    async function getData(){
        let rquery = await request()
        return rquery
    }
    
    
    // 调用
        getData().then(
            v => console.log(v),
            e => console.log(e)
        )
    
    

    4、如果我们希望即使前一个异步操作失败,也不要中断后面的异步操作。这时可以将第一个await放在try...catch结构里面,这样不管这个异步操作是否成功,第二个await都会执行。

    参考文摘: https://www.cnblogs.com/zczhangcui/p/6642144.html

    相关文章

      网友评论

          本文标题:Es6 async 函数

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