6 ms·
> A Deferred object is returned by the obsolete Promise.defer() method to provide a new promise along with methods to change its state. > Starting from Gecko 3
by Prefinem 8y ago
> A Deferred object is returned by the obsolete Promise.defer() method to provide a new promise along with methods to change its state.
> Starting from Gecko 30, this object is obsolete and should not be used anymore. Use the new Promise() constructor instead (or use the above backwards/forwards compatible Deferred function given below). For example, the equivalent of
Seems like it's obsolete. [0]
If you want to write async code, use async / await.
const run = async () => {
const response = await new Promise((resolve, reject) => methodOne(data, (e, res) => e ? reject(e) : resolve(res)));
};
If you spend enough time with fat arrow, it's as easy to read as `function` is. On top of that, IMO it looks cleaner. It also allows you to do scope binding in a different manor which in React is much better.
This:
<a onClick={this.onClickEvent.bind(this)}>Click Me</a>
becomes this:
<a onClick={(event) => this.onClickEvent(event)}>Click Me</a>
[0] https://developer.mozilla.org/en-US/docs/Mozilla/JavaScript_code_modules/Promise.jsm/Deferred https://developer.mozilla.org/en-US/docs/Mozilla/JavaScript_...
- codedokode 8y ago> Seems like it's obsolete. Then you can write your own Deferred implementation. I didn't even know it was implemented in browsers. const run = async () => { ... } How to read this? run is a constant that equals the result of calling function async() thas maps to something in curly brackets? This is confusing. > If you want to write async code, use async / await. That is a good idea, but it has nothing to do with arrow functions. > It also allows you to do scope binding in a different manor `this` binding in JS in classic functions is broken by design, so yes, that is the advantage of arrow functions.