学会使用async/await

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学会使用async/await相关的知识,希望对你有一定的参考价值。

参考技术A

有很多 async 的面试题,例如

等等,需要找出一个规律

用同步的方式,编写异步。

和 Promise 的关系

async 函数返回结果都是 Promise 对象(如果函数内没返回 Promise ,则自动封装一下)

await 后面跟 Promise 对象:会阻断后续代码,等待状态变为 resolved ,才获取结果并继续执行

await 后续跟非 Promise 对象:会直接返回

总结来看:

异步本质

await 是同步写法, 但本质还是异步调用

即,只要遇到了 await ,后面的代码都相当于放在 callback 里。

for...of

定时算乘法

执行 async 函数执行返回的是 Promise 对象

await 相当于 Promise 的 then

try...catch 可捕获异常,代替 Promise 的 catch

右上图解读: async返回Promise,await返回then,await后面报错会终止执行,可以用try...catch来捕获

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

网易云音乐数据交互—async&await实现版(完结篇)

async / await 的串行和并行

async/await的使用

swift 异步 async/await 的使用

promise async/await

async/await 原理及简单实现