All uses of @@species are to be removed from Promise.race and Promise.all. The committee achieved consensus on this, without you.
________________________________ From: es-discuss <es-discuss-boun...@mozilla.org> on behalf of C. Scott Ananian <ecmascr...@cscott.net> Sent: Wednesday, November 18, 2015 18:15 To: Boris Zbarsky Cc: es-discuss@mozilla.org list Subject: Re: resolve()/reject() on Promise subclasses and @@species 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). [https://avatars3.githubusercontent.com/u/3309637?v=3&s=400]<https://github.com/tc39/ecma262/issues/151> Remove @@species lookup from Promise.all() and Promise ... Remove @@species lookup from Promise.all() and Promise.race() #151 Read more...<https://github.com/tc39/ecma262/issues/151> --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
_______________________________________________ es-discuss mailing list es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss