Promise sub-class: super((resolve, reject) => this) ?

Matthew Robb matthewwrobb at gmail.com
Tue Jun 2 22:49:36 UTC 2015


If I thought I could make any money then I would most definitely bet that
the changes made to classes that are at the root of this problem will be
the undoing of es classes and I find myself feeling more and more like
avoiding them is the easiest thing to do.

This use-case is a perfect example of something that is EXTREMELY
unexpected which is funny because the changes are supposed to be supporting
subclassing of built-ins.

Very disheartened :(


- Matthew Robb

On Tue, Jun 2, 2015 at 6:43 PM, Domenic Denicola <d at domenic.me> wrote:

> Hmm I am pretty sure Babel et al. are correct here in not allowing this.
> The super call needs to *finish* before you can use `this`. Chrome also
> works this way.
>
> The correct workaround is
>
> ```js
> let resolve, reject;
> super((a, b) => {
>   resolve = a;
>   reject = b;
> });
>
> // use this
> ```
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20150602/7ef051cd/attachment.html>


More information about the es-discuss mailing list