为什么我不能在节点v0.11.11中使用Promise?

Mar*_*ahn 7 javascript node.js promise

我只是搞乱v0.11节点的分支,我想知道为什么我不能使用本机ES6 Promise对象,即使--harmony打开了.

我常用的Chrome浏览器:

Google Chrome    32.0.1700.77 (Official Build 244503) 
JavaScript       V8 3.22.24.10
Run Code Online (Sandbox Code Playgroud)

支持它们,node.js v0.11.11告诉我:

> process.versions.v8
'3.22.24.19'
Run Code Online (Sandbox Code Playgroud)

什么给出了什么?

Ben*_*aum 10

原生承诺在,您现在可以使用它们.它们比Bluebird这样的库更慢,更难调试,但它们就在那里.


目前在Chrome中的Prom是DOM Futures.此外,他们是非常实验性的,API可能会发生变化(在很多时候讨论过这个问题).

考虑使用Bluebird promise,因为它们更快,具有更好的堆栈跟踪并且稳定.

它比图书馆快得多Q(快两个数量级),它有更好的堆栈跟踪和完全符合规范的API.您当然也可以自己编译node和v8 - v8本身就有承诺.

在ES6中有承诺,他们还没有"安定下来" - 让Chrome用户也非常愤怒

它们也被认为是DOM的一部分,因为未来的DOM API将使用promises.

  • @zyklus,ES6承诺自版本3.3.14.14(2013年11月28日)以来一直在V8版本中.但节点仍然需要赶上. (3认同)