Promise是如何构建的?

时间:2018-10-24 02:04:47

标签: javascript promise es6-promise

我想查看JavaScript Promise的源代码。我尝试了toSource(),但它仍只显示ƒ Promise() { [native code] }。有什么办法可以查看本机代码?

1 个答案:

答案 0 :(得分:4)

Promise内置于V8 Javascript解释器中,并且部分地以解释器内部的本机代码实现。包括V8 JS引擎在内的所有node.js代码都可以在https://github.com/nodejs/node的Github上获得,而V8 Promise实现的很大一部分是here in that repository

内置代码不容易阅读。如果您想学习纯Java脚本实现示例,那么任何完全用Java脚本编写的promise实现都可能更容易学习。例如,Bluebird Promise库在这里:https://github.com/petkaantonov/bluebird,Promise Polyfill在这里:https://github.com/taylorhakes/promise-polyfill