async 与 await

async:作为一个关键字放到函数前面,用于表示函数是一个异步函数

async function timeout() {
    return 'hello world'
}
console.log(timeout());

结果表示:async修饰的函数返回的是一个promise 对象,如果要获取到 promise 返回值,就应该用then 方法。

timeout().then(result => {
    console.log(result);
})

 但是如果在then方法中有过多的操作,又显得很麻烦。

如果函数内部抛出错误, promise 对象有一个catch 方法进行捕获。

timeout().catch(err => {
    console.log(err)
})

  
await:等待,通常它后面接一个返回promise 对象的表达式(异步函数的调用)。注意await 关键字只能放到async 函数里面

const message = await timeout();
console.log(message);
console.log('我会后打印');

  等到timeout异步函数执行完毕再执行下一行代码,把异步函数同步化。同时,有了await之后不需要使用then了,得到函数的返回值只需要一行代码就可以搞定。即使用一个变量接收函数的返回值就好,如上述代码所示。

总结:有了async 和 await 后,代码变得简洁明了,不需要在回调函数中再回调其他函数,但一定要注意的是:await关键字只能在async修饰的函数中使用,否则无效。

本文章借鉴于:https://www.cnblogs.com/SamWeb/p/8417940.html

如果文章对你有帮助,麻烦帮忙点个赞哦!嘿嘿!做一个靠谱的技术博主!

原文地址:https://www.cnblogs.com/CatcherLJ/p/11206647.html