The order is deterministic, as specified, I just don't think it's the right order. I don't have a concrete example with finally, but if I were to imagine one, say you're writing some tests with jest and you want to make some checks in the then callbacks. In order for those checks to be executed in good time, you must return a promise from the test callback. If you have more promises you have to do a Promise.all in order to make sure that you wait for all the promises. If you are able to determine the order in which the promises are settled, you can return the one that is settled the last. This is perhaps not a convincing example, but if this didn't matter why is the order specified?
On Fri, Feb 23, 2018 at 3:59 PM, Viktor Kronvall <viktor.kronv...@gmail.com> wrote: > Since these two Promises aren't chained to one another I wouldn't expect > any specific > deterministic ordering between the `console.log` statements. Are you > suggesting that > such a deterministic ordering should be imposed by using micro tasks or > what are you > proposing here exactly? > > In other words, why exactly do you expect the result to always be printing > 1 before > printing 2? > > 2018年2月23日(金) 19:21 Raul-Sebastian Mihăilă <raul.miha...@gmail.com>: > >> I find it weird that >> >> ```js >> Promise.resolve().finally(() => {}).then(() => { console.log(1); }); >> Promise.resolve().then(() => {}).then(() => { console.log(2); }); >> ``` >> >> prints 2 and then 1. It would have been possible to spec it in such a way >> that it would have printed 1 and 2. >> >> On the other hand >> >> ```js >> Promise.resolve().finally().then(() => { console.log(1); }); >> Promise.resolve().then().then(() => { console.log(2); }); >> ``` >> >> prints 1 and then 2. >> _______________________________________________ >> es-discuss mailing list >> es-discuss@mozilla.org >> https://mail.mozilla.org/listinfo/es-discuss >> >
_______________________________________________ es-discuss mailing list es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss