I'm just messing around with the v0.11
branch of node, and I'm wondering why I can't use the native ES6 Promise
object, even with --harmony
turned on.
My normal chrome browsers:
Google Chrome 32.0.1700.77 (Official Build 244503)
JavaScript V8 3.22.24.10
Supports them, and node.js v0.11.11
is telling me:
> process.versions.v8
'3.22.24.19'
So what gives?
Native Promises are in, you can now use them. They're still slower and harder to debug than libraries like Bluebird but they're there.
Promises currently in Chrome are DOM Futures. Also, they're very experimental and the API might change (it's quite heavily discussed atm).
Consider using Bluebird promise instead as they're faster, have better stack traces and are stable.
It is consdierably faster than libraries like Q
(two orders of magnitude faster) it has much better stack traces and a completely spec compliant API. You may of course also compile node and v8 yourself - there are promises in v8 itself.
There are promises in ES6, they're just not 'settled' yet - making the Chrome people are quite angry too
They're considered part of the DOM too because future DOM APIs will use promises.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With