The iteration protocol has a boolean data property `.done` - I don't know if anyone ever suggested some kind of `isDone()` method for that, and I think the iteration protocol sets a precedent of the "tag" on the object being a primitive.
On Fri, Apr 17, 2020 at 7:25 PM Felipe Gasper <[email protected]> wrote: > Hello, > > If it’s not too awkward of a question to ask: were object methods > rather than string comparison considered for Promise.allSettled()? > > For example, if I write this: > > ----- > Promise.allSettled(promises).then( results => { > results.forEach( r => { > if (r.status === "rejectd") { > // Failure … > } > else { > // Success! > } > } ); > } ); > ----- > > … the code won’t complain about the typo but instead just “do the wrong > thing”. > > But, if the way to parse allSettled()’s resolution were object methods > instead, it could be this: > > ----- > Promise.allSettled(promises).then( results => { > results.forEach( r => { > if (r.isRejectd()) { > // Failure … > } > else { > // Success! > } > } ); > } ); > ----- > > … which will usefully cause an exception/rejection that pinpoints the > problem in my code. > > Was this pattern perhaps considered and rejected? Or is there some > liability to the object methods relative to the string comparison that I’m > not seeing? If so, what was/is the rationale there? > > Thank you for your time! > > cheers, > -Felipe Gasper > _______________________________________________ > es-discuss mailing list > [email protected] > https://mail.mozilla.org/listinfo/es-discuss >
_______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

