为什么我不能在节点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。