诺言是如何建立起来的?

2022-04-03 00:00:00 javascript promise es6-promise

我想看看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。

相关文章