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

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

我正常的浏览器:

 Google Chrome 32.0.1700.77 (Official Build 244503) JavaScript V8 3.22.24.10 

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

 > process.versions.v8 '3.22.24.19' 

那么给了什么?

原生承诺在,您现在可以使用它们。 与Bluebird等库相比,它们仍然更慢,更难debugging,但它们在那里。


目前在Chrome中的承诺是DOM期货。 另外,他们是非常实验性的,API可能会改变(这是相当严重的atm讨论)。

考虑使用蓝鸟承诺,因为它们更快,有更好的堆栈跟踪和稳定 。

它比Q这样的库要快得多(速度提高两个数量级),它具有更好的堆栈跟踪和完全符合规范的API。 你当然也可以自己编译node和v8 – v8本身就有承诺 。

在ES6中有承诺,他们还没有“定居” – 让Chrome的人也很生气

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