Javascript 为什么可以';我是否在节点v0.11.11中使用承诺?

Javascript 为什么可以';我是否在节点v0.11.11中使用承诺?,javascript,node.js,promise,Javascript,Node.js,Promise,我只是在玩弄node的v0.11分支,我想知道为什么即使启用了--harmony也不能使用本机ES6Promise对象 我的普通chrome浏览器: Google Chrome 32.0.1700.77 (Official Build 244503) JavaScript V8 3.22.24.10 支持它们,node.jsv0.11.11告诉我: > process.versions.v8 '3.22.24.19' 那么给了你什么呢?本地承诺已经存在,你现在可以使

我只是在玩弄node的
v0.11
分支,我想知道为什么即使启用了
--harmony
也不能使用本机ES6
Promise
对象

我的普通chrome浏览器:

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之类的库更慢、更难调试,但它们确实存在



Chrome目前的承诺是DOM未来。此外,它们是非常实验性的,API可能会发生变化(这在atm中得到了大量讨论)

考虑使用

它通常比
Q
(快两个数量级)之类的库快得多,它有更好的堆栈跟踪和完全符合规范的API。当然,您也可以自己编译node和v8—有

ES6中有承诺,只是还没有“解决”——


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

Chrome目前的承诺是DOM未来。此外,它们是非常实验性的,API可能会发生变化(这在atm中得到了大量讨论)。考虑使用。所以基本上是因为它是DOM API而不是JavaScript API。@ MPM在ES6中有承诺,它们还没有被“解决”。Chrome人也非常愤怒:@ BejMaunGrangeBaunm——这解释了为什么节点没有它们,但是为什么它们被认为是DOM的一部分???我一直在使用
q
,这不是我想找到一个库的问题,只是好奇为什么它不起作用。如果你发布一个答案,我会接受:)注意:如果你自己编译Node和V8,请注意这些承诺包括一些有争议的方法,比如
.chain
(一种非解包方法),这些方法可能会也可能不会被纳入标准。感谢你提供的信息:)碰巧有提到承诺何时会被纳入V8?@zyklus事实是,目前关于他们的争论相当激烈。人们都在努力工作,但我相信在接下来的几个月里不会。我认为你最好的选择是像Bluebird这样的东西,它和本地的一样快,并且支持相同的API。是的,我正在启动一个新项目。模糊地考虑将
蓝鸟
填充到
全局.Promise
上,然后使用节点
v0.12
或在Promises获得时将其移除incorporated@zyklus,ES6 Promissions自版本3.23.14(2013年11月28日)起就已在V8中正常运行。但node仍需迎头赶上。