提问者:小点点

“谁”在节点JS中执行异步函数?


下面这个问题我已经纠结了很长一段时间没有答案了,是的,我在网上搜索了相当一段时间。

当我通过async关键字(隐式)或return Promise(显式)获得异步函数(返回承诺的函数)时,谁执行该代码??我的意思是事件循环继续,但这些代码被执行?

我的想法是:

  1. 当事件循环处于“空闲”模式时执行代码
  2. 其他一些“外部/工作线程”执行它。

会感激你的支持。


共1个答案

匿名用户

都不是。一旦函数被调用,代码就会在主事件循环上执行。

承诺本身并不是异步的。它们是管理异步代码的工具。

如果函数内部发生了异步事件,那么如何执行就取决于具体的代码位。