首页 > 解决方案 > “谁”在节点 js 中执行异步函数?

问题描述

我一直在为以下问题苦苦挣扎,但没有答案,是的,我已经在互联网上搜索了很长时间。

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

我的想法是:

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

将感谢您的支持。

标签: javascriptnode.js

解决方案


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

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

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


推荐阅读