诺言是如何建立起来的?
我想看看JavaScript Promisse的源代码。我尝试了toSource()
,但它仍然只显示ƒ Promise() { [native code] }
。有什么方法可以让我查看本机代码吗?
解决方案
Promise内置于V8Java解释器中,并且部分在解释器内部的本机代码中实现。包括V8 JS引擎在内的所有node.js代码都可以在Github上https://github.com/nodejs/node获得,而V8 Promise实现的很大一部分是here in that repository。
内置代码读起来并不简单。如果您想要学习一个纯的Java脚本实现示例,那么任何完全用Java脚本编写的Promise实现都可能更容易学习。例如,Bluebird Promise库在这里:https://github.com/petkaantonov/bluebird,Promise PolyFill在这里:https://github.com/taylorhakes/promise-polyfill。
相关文章