Promise 在 nodejs 中的实现在哪里?



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

https://github.com/nodejs/node

nodejs 中的 promise 来自 V8 本身(Javascript 引擎(,而不仅仅是 node.js。 因为它来自 V8,所以它在 node.js、Chrome、Opera、Edge 等中是相同的实现......他们都使用 V8 发动机。

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

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实现并不简单,特别是对于使用本机代码的函数。

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

你可以使用 nodejs internal/util module util.promisify 找到 promise 的实现。 请检查下面的来源

https://github.com/nodejs/node/blob/master/lib/internal/util.js

相关内容

  • 没有找到相关文章

最新更新