我实际上是第一次潜入async/await部分,所以我很难理解它。
我知道async await是用来让一个函数以异步方式运行的,但是怎么做呢,因为根据定义,await"关键字暂停函数的执行,直到promise被解析,然后执行函数中剩余的代码。这难道不是一种同步行为吗,因为事情是按顺序执行的?
请随时帮助我解决我的困惑或如果我错了。
都不是
async
和await
关键字是管理承诺的工具.
Promises是一个管理异步代码的工具.
如果将函数标记为async
,则:
- 正常返回值被替换为一个承诺,解决其正常返回值。
- 里面你可以用
await
如果在promise的左侧使用await
,则包含该函数的函数将进入休眠状态,直到promise结束。执行外部异步函数将继续睡觉时(即是不停止) .
这允许您使用看起来像的语法就像在同步代码上工作一样,在异步代码上工作。
它不能使同步操作异步,反之亦然。