Javascript承诺:它们可以在用户空间代码中完全实现吗?

Javascript承诺:它们可以在用户空间代码中完全实现吗?,javascript,es6-promise,userspace,Javascript,Es6 Promise,Userspace,JavascriptPromise类是否可以在用户空间代码中完全实现,而不需要本机代码(即Javascript内部)的任何支持,而只有实现Javascript引擎的人(如V8团队)才能访问本机代码 请注意,我不是在谈论围绕现有JavascriptPromise类实现更高级别的抽象库或模块(比如说,使其更友好);相反,我说的是一个全新的替代承诺实现,比如说,MyPromise,其语义与promise相同 我试图阅读ES6规范中相关的Promise部分以获得答案,但发现规范很难阅读 JavaScri

Javascript
Promise
类是否可以在用户空间代码中完全实现,而不需要本机代码(即Javascript内部)的任何支持,而只有实现Javascript引擎的人(如V8团队)才能访问本机代码

请注意,我不是在谈论围绕现有Javascript
Promise
类实现更高级别的抽象库或模块(比如说,使其更友好);相反,我说的是一个全新的替代承诺实现,比如说,
MyPromise
,其语义与
promise
相同

我试图阅读ES6规范中相关的
Promise
部分以获得答案,但发现规范很难阅读

JavaScript Promise类是否可以在用户空间代码中完全实现,而不需要本机代码的任何支持


最好的例子是。

当然可以,而且已经有很多次了。为什么他们不能呢?+1。这正是我想确认的。例如,C/C++/Java中的mutex/lock原语依赖于底层VM/OS的支持,因此我不知道
Promise
是否也依赖于Javascript引擎的C实现中的一些本机支持,最终链接到OS。相关:我认为一般的答案是否定的,因为似乎没有一个标准的面向用户的API向作业队列添加内容。但是,大多数环境都实现了
setTimeout
,这是可能的。