On 24 February 2017 at 16:19:03, Šime Vidas (sime.vi...@gmail.com) wrote: > To clarify, the idea is to declare and kick off all the concurrent tasks > upfront
Well, that's what promises *already* do, even without using the `async` and `await` keywords. You kick off all concurrent tasks up-front - it's only tasks that depend on a previous task's result that need wait around for that task to finish. Without `async` functions, you'd probably do something like this: function makePizza(sauceType = 'red') { const dough = makeDough(), sauce = makeSauce(sauceType); const cheese = sauce.then(s => grateCheese(s.determineCheese())); return Promise.all([dough, sauce, cheese]).then(function([dough, sauce, cheese]) { dough.add(sauce); dough.add(cheese); return dough; } } With `async` functions, you can avoid all those lambdas and the code's a little bit cleaner - either way, you don't need new JS magic to do things concurrently! _______________________________________________ es-discuss mailing list es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss