async 与 await

Posted catcherlj

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

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

 

以上是关于async 与 await的主要内容,如果未能解决你的问题,请参考以下文章

macrotask与microtask

async和await

async和await

async和await

async 和 await

async和await