nodejs ES6中的async和await使用实例

2020-03-19 发表在 编程语言 79

几种写法,async和await 有效的解决了之前Promise多层回调的问题。 让代码根据可读性。

传统写法

    aa().then(res=>{

            bb(res).then(br=>{
                cc(br).then(cr=>{

                    dd(cr).then(dr=>{
                        //...无限嵌套
                    })
                })
            })
    })

这种写法对于后期维护是灾难性的。

async和await写法

async function aa(a) {
    return a + Math.random()
}


async function bb(b) {
    var c = await aa(b)
    console.log(`c:${c}`)
    return c
}

// bb(100).then(res => {
//     console.log(res)
// });


function cc(c) {
    return new Promise(((resolve, reject) => {
        resolve(100);
    }));
}

async function dd() {
    var d = await cc(100)
    console.log(d)
}

//这里调只能获取到一个Promise
console.log(dd())


//正确的调用方法

dd().then(res => {
    //正确的时候
    console.log(`res:${res}`)
}).catch(err => {
    //错误的时候
    //...
}).finally(() => {
    //不管正确错误都执行
})
作者:贝塔博客
本站使用「署名 4.0 国际」创作共享协议,转载请在文章明显位置注明作者及出处。
评论
登录以后才可以发布评论哦, 点击登录 发布评论
评论列表 0人参与,0条评论
暂时还没有人评论,快来一条神回复吧!