“谁”在节点js中执行异步功能?

时间:2020-10-04 14:39:51

标签: javascript node.js

很长一段时间以来,我一直在努力解决以下问题,没有答案,是的,我已经在互联网上搜索了很长一段时间。

当我有一个async关键字(隐式)或return Promise(显式)一个异步函数(一个返回Promise的函数)时,谁执行该代码?我的意思是事件循环继续,但是此代码得到执行了吗?

我的想法是:

  1. 事件循环处于“空闲”模式时执行代码
  2. 其他“外部/工人”线程执行该任务。

感谢您的支持。

1 个答案:

答案 0 :(得分:1)

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

Promises aren't themselves asynchronous。它们是用于管理异步代码的工具。

如果在函数内部 中发生了异步操作,则如何执行取决于代码的特定位置。