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

Matthew Robb matthewwrobb at
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> 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: <>

More information about the es-discuss mailing list