resolve()/reject() on Promise subclasses and @@species

C. Scott Ananian ecmascript at cscott.net
Wed Nov 18 23:15:18 UTC 2015


Unfortunately, it's not just a specification device, it has a real effect
on the behavior of Promise subclasses.  In the case of TimeoutPromise, for
instance, it affects whether the timeouts apply to *each promise in the
array* or just to the final result Promise.

I'm hearing through the grapevine (
https://github.com/tc39/ecma262/issues/151) that it has been decided to
change the behavior of Promise.all/race. Have you decided to adopt the spec
language I proposed above?  There has been precious little actual
discussion of it, certainly not enough for me to claim any sort of
consensus has been reached (except perhaps by default, since no one has
advocated for alternatives).
  --scott
On 11/4/15 11:22 PM, C. Scott Ananian wrote:

> see my previous message for the exact wording proposal which
> changes step 6.
>

https://esdiscuss.org/topic/performpromiseall#content-6 you mean?

I don't have a strong opinion on it, honestly.  The existence of the
intermediate promises in all/race seems mostly to be a specification device
to make it easier to deal with people passing in not-thenable-at-all
values, from my point of view, so I'm not sure I have a principled opinion
on how they should be constructed.

-Boris
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20151118/2171892e/attachment.html>


More information about the es-discuss mailing list