A way to fire logic at the end of completion of the current class method (regardless of super call order).

Isiah Meadows isiahmeadows at gmail.com
Sat Feb 9 10:18:20 UTC 2019


I've also had *several* scenarios where I could've used this
personally. I feel ES classes are overly restrictive in preventing
this, since it basically forces you to force subclasses to do
something like `this.init()` right after the class is allocated,
leaking implementation details left and right.

-----

Isiah Meadows
contact at isiahmeadows.com
www.isiahmeadows.com

On Fri, Feb 8, 2019 at 1:22 AM #!/JoePea <joe at trusktr.io> wrote:
>
> I many times find myself in cases where a base class wants to ensure that logic is always fired after the current method's execution, so that for example no matter in which order sub classes call the `super` method, the `super` method can still guarantee that logic fires after the whole stack of the same method in the class hierarchy.
>
> So what I can do now is use `Promise.resolve().then(() => { ... })` to schedule that logic for later, that way all the invocations of a `foo` method along the class hierarchy have all fired. But this means that other code can also fire before the next microtask.
>
> Is there some way to do it? If not, I wonder if some language feature for doing it would be possible?
>
> - Joe
> _______________________________________________
> es-discuss mailing list
> es-discuss at mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss


More information about the es-discuss mailing list