node.js - Nodejs中Promise的实现在哪里?

标签 node.js promise

我正在尝试在nodejs中找到Promise的源代码。但文件太多了。我找不到哪个文件包含 Promise 的实现。有人可以告诉我吗?谢谢。

https://github.com/nodejs/node

最佳答案

nodejs 中的 Promise 来自 V8 本身(Javascript 引擎),并且不仅仅特定于 Node.js。因为它来自 V8,所以在使用 V8 引擎的 Node.js、Chrome、Opera、Edge 等中具有相同的实现。

在代码中,部分实现到处都是。这是一堆文件:

https://github.com/nodejs/node/blob/80f2b6736724e0a3b90731deb9503013edc7d85e/deps/v8/src/builtins/builtins-promise-gen.h

https://github.com/nodejs/node/blob/f53a2414474c2b1aee07ab367415b32c20e50bd9/deps/v8/src/runtime/runtime-promise.cc

https://github.com/nodejs/node/blob/80f2b6736724e0a3b90731deb9503013edc7d85e/deps/v8/src/builtins/builtins-promise-gen.cc

https://github.com/nodejs/node/blob/7cf6f9e964aa00772965391c23acda6d71972a9a/lib/internal/process/promises.js

https://github.com/nodejs/node/blob/f53a2414474c2b1aee07ab367415b32c20e50bd9/deps/v8/src/builtins/builtins-promise.h

https://github.com/nodejs/node/blob/80f2b6736724e0a3b90731deb9503013edc7d85e/deps/v8/src/objects/js-promise.h

正如我发现的,在 Node.js 代码中经常出现这种情况,仅仅在一个地方查看整个 Promise 实现并不简单,特别是对于使用 native 代码的函数。

该实现似乎主要是 native 代码,这可能是因为它是 V8 的内部代码,而不是 Nodejs 特有的。因此,Chrome、Edge、nodejs 和任何其他使用 V8 的程序都将具有相同的 Promise 实现。这是有道理的,因为它现在是 Javascript 语言的标准部分。

关于node.js - Nodejs中Promise的实现在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58479537/

相关文章:

node.js - 如何扩展Sequelize (v5) 的数据类型?

javascript - PDFMake - 动态 pageMargins 取决于标题的高度

javascript - WebStorm 无法识别 node.js 方法

javascript - 返回已解决的 promise 值

javascript - 单个 angularjs promise 上的多个 `.then()` - 全部使用_original_数据

node.js - IISNode 是否使 NodeJS 成为一个阻塞进程?

node.js - Jest js 安装 - 出现错误 - npm ERR!如果没有 'new',则无法调用类构造函数

angular - 订阅 promise

javascript - 你能避免与 Promises 完全嵌套吗?

typescript - 如何在 TypeScript 中同步运行 Promise?