是async/await异步还是同步?



我实际上是第一次潜入async/await部分,所以我很难理解它。

我知道async await是用来让一个函数以异步方式运行的,但是怎么做呢,因为根据定义,await"关键字暂停函数的执行,直到promise被解析,然后执行函数中剩余的代码。这难道不是一种同步行为吗,因为事情是按顺序执行的?

请随时帮助我解决我的困惑或如果我错了。

都不是

asyncawait关键字是管理承诺的工具.

Promises是一个管理异步代码的工具.

如果将函数标记为async,则:

  • 正常返回值被替换为一个承诺,解决其正常返回值。
  • 里面你可以用await

如果在promise的左侧使用await,则包含该函数的函数将进入休眠状态,直到promise结束。执行外部异步函数将继续睡觉时(即是不停止) .

这允许您使用看起来像的语法就像在同步代码上工作一样,在异步代码上工作。

它不能使同步操作异步,反之亦然。

最新更新