async/await 是异步还是同步?

ran*_*ler 2 javascript asynchronous async-await

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

我知道 async wait 用于使函数以异步方式运行,但是如何,因为根据定义,“await”关键字会暂停函数的执行,直到承诺得到解决,然后执行中的剩余代码功能。这不是同步行为吗,因为事情正在按应有的顺序执行?

如果我有什么地方错了,请随时帮助我摆脱困惑。

Que*_*tin 5

两者都不。

和关键字是管理承诺asyncawait工具。

Promise 是管理异步代码的工具。

如果您将函数标记为async

  • 它的正常返回值被替换为解析为其正常返回值的承诺。
  • await你可以在里面使用

await如果您在 Promise 的左侧使用,则包含函数将进入休眠状态,直到 Promise 解决为止。异步函数外部的执行将在其休眠时继续(即不停止)。

这使您可以使用看起来适用于同步代码的语法处理异步代码。

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