浅谈async/await

2019-10-11  本文已影响0人  小丿贱

简介

使用async/await可以方便处理js中的异步情况,这是ES2017提出来的一对很好用的操作符。

async

函数开头加的一个关键字, 返回一个promise对象,如果函数直接返回一个值,则会用promise.resolve()包裹起来。

async function demo() {
    return 'demo';
}
demo().then((data) => {
    console.log(data);
})

await

await 意思是等待,等待的是一个表达式,可以是常量,变量,promise,函数等。

function demo1() {
    return 'demo1';
}
const demo2 = 'demo2';

async function test() {
    const a = await demo();
    const b = await demo1();
    const c = await demo2;
    console.log(`a:${a},b:${b},c:${c}`);
}
test();

解惑

  1. 用try-catch
async function tryCatch() {
    try {
        await Promise.reject('tryCath');
    } catch(err) {
        console.log(err);
    }
}
tryCatch();
  1. 用promise的catch
async function tryCatch1() {
    await Promise.reject('tryCath1').catch((err) => {
        console.log(err);
    });
}
tryCatch1();
上一篇 下一篇

猜你喜欢

热点阅读