Proposal: Allow Promise callbacks to be removed

Naveen Chawla naveen.chwl at
Tue Apr 24 08:11:23 UTC 2018

How can you terminate an async call? All you're doing is refusing to handle
the result. Explain how I'm wrong if so.

On Tue, 24 Apr 2018 at 13:27 Andrea Giammarchi <andrea.giammarchi at>

> The `isStillValid` is limited in possibilities. I think listeners open
> new possibilities, specially for very complex operations.
> I see a simple scenario like the following one:
>    - user asks for a very expensive task clicking section A
>    - while it's waiting for it, user changes idea clicking section B
>    - both section A and section B needs that very expensive async call
>    - drop "going to section A" info and put "go to section B" to that
>    very same promise
>    - whenever resolved, do that action
> A caching mechanism to trigger only once such expensive operation would
> also work, yet it's not possible to drop "go into A" and put "go into B"
> My PoC also is per promise, so if you use `.then()` over the passed along
> promise, you can add your own listeners in there too, without affecting the
> initial one (and vice versa)
> On Mon, Apr 23, 2018 at 11:07 PM, Alex Vincent <ajvincent at>
> wrote:
>> My proposal is that we add a way of removing a particular callback, or
>>> all callbacks, from a Promise. This is different to cancelling a Promise
>>> and would instead happen if you want the operation to continue but are no
>>> longer interested in running a function when the Promise is resolved or
>>> rejected.
>> Devil's advocate from the peanut gallery:  what's so hard about adding:
>> ```javascript
>> if (!isStillValid) return;
>> ```
>> --
>> "The first step in confirming there is a bug in someone else's work is
>> confirming there are no bugs in your own."
>> -- Alexander J. Vincent, June 30, 2001
>> _______________________________________________
>> es-discuss mailing list
>> es-discuss at
> _______________________________________________
> es-discuss mailing list
> es-discuss at
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the es-discuss mailing list