avoiding parallelism? can you please elaborate a bit more what's the code smell, exactly?
On Wed, Oct 26, 2016 at 10:49 AM, Michał Wadas <[email protected]> wrote: > Actually using Promise.all with async/await is usually code smell - you > probably should await on values. > > > > On Wed, Oct 26, 2016 at 10:40 AM, Damian Senn <[email protected]> > wrote: > >> I don't like the `await* []` syntax, it doesn't really tell me what it's >> doing. >> I could imagine something like `await.all []` or `await.race []` >> desugaring to `await Promise.all([])` and `await Promise.race([])`, this >> could also be expanded to whatever new functionality might be added in the >> future (assuming await.something could work). >> >> On Wed, Oct 26, 2016 at 10:37 AM kdex <[email protected]> wrote: >> >>> Personally, I wouldn't mind such an operator, as I feel that the use of >>> `Promise.all` clearly >>> outweighs all other `Promise` combinators, but this could be an >>> opinionated view. >>> >>> IIRC, that even was up for standards discussion at some point (being >>> called `await*` instead >>> of `await`). I'm not sure what ever happened to that. >>> >>> On Wednesday, October 26, 2016 1:27:28 AM CEST Olivier Lalonde wrote: >>> > Right it makes sense, should have thought about that! An `awaitAll` (or >>> > other syntax) could be nice but it seems the general opinion is >>> against. >>> > >>> > On Wed, Oct 26, 2016 at 1:22 AM, kdex <[email protected]> wrote: >>> > >>> > > It's especially beneficial for designing APIs where you don't care >>> about if >>> > > users pass you a `Promise` or the actual data to work with. >>> > > >>> > > Imagine a scenario where you would like to remove a set of files: >>> > > >>> > > ```js >>> > > async function remove(filesArray) { >>> > > const files = await filesArray; >>> > > /* … work with `files` here …*/ >>> > > } >>> > > ``` >>> > > >>> > > In the scenario above, you could pass an array of files, or a >>> `Promise` >>> > > that resolves >>> > > to said array; the function accepts both. >>> > > >>> > > On Wednesday, October 26, 2016 1:03:37 AM CEST Olivier Lalonde wrote: >>> > > > I didn't realize `await` could be used on non-`Promise`s, never >>> mind. I >>> > > > wonder why that is, seems strange. Maybe so that async functions >>> could be >>> > > > more easily swapped out with sync ones in code? I do think >>> `Promise.all` >>> > > > should deserve special treatment because it is so common, unlike >>> > > > Promise.race (who uses that seriously?) and future combinators. >>> But I'm >>> > > not >>> > > > sure it is worth introducing new syntax for. >>> > > > >>> > > > On Wed, Oct 26, 2016 at 12:33 AM, Jordan Harband <[email protected] >>> > >>> > > wrote: >>> > > > >>> > > > > Your suggestion would preclude having a promise for an array >>> (exactly >>> > > what >>> > > > > `Promise.all` returns). >>> > > > > >>> > > > > If you want `await` syntax for `Promise.all`, you'd need >>> different >>> > > syntax >>> > > > > for it - and then, what about `Promise.race`? What about other >>> future >>> > > > > combinators? >>> > > > > >>> > > > > On Wed, Oct 26, 2016 at 12:25 AM, Olivier Lalonde < >>> [email protected]> >>> > > > > wrote: >>> > > > > >>> > > > >> I don't think so, what do you mean? >>> > > > >> >>> > > > >> On Wed, Oct 26, 2016 at 12:22 AM, Raul-Sebastian Mihăilă < >>> > > > >> [email protected]> wrote: >>> > > > >> >>> > > > >>> Then Promise.resolve([p1, p2]) should be like Promise.all([p1, >>> p2]) ? >>> > > > >>> >>> > > > >>> _______________________________________________ >>> > > > >>> es-discuss mailing list >>> > > > >>> [email protected] >>> > > > >>> https://mail.mozilla.org/listinfo/es-discuss >>> > > > >>> >>> > > > >>> >>> > > > >> >>> > > > >> >>> > > > >> -- >>> > > > >> - Oli >>> > > > >> >>> > > > >> Oli Lalonde >>> > > > >> http://www.syskall.com <-- connect with me! >>> > > > >> >>> > > > >> _______________________________________________ >>> > > > >> 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 >>> > > >>> > >>> > >>> > >>> > >>> >>> >>> _______________________________________________ >>> 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 >> >> > > _______________________________________________ > 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

