3 ms·
I don't see what's unclean about Promise.all or how creating a 1:1 alias for it makes it cleaner. Also, many times you want to limit the concurrency of your pr
by always_good 9y ago
I don't see what's unclean about Promise.all or how creating a 1:1 alias for it makes it cleaner.
Also, many times you want to limit the concurrency of your promise execution which isn't something you can do with an array of promises. You'd be back to using `await` + something like https://www.npmjs.com/package/promise.map https://www.npmjs.com/package/promise.map.
I'm someone that used to use `co` where you could go:
const [a, b] = yield [promiseA(), promiseB()]
But I prefer the simplicity and consistency of having to use something like Promise.all or require('promise.map').
- ujal 9y agoIts the ambiguity for new programmers. With something like awaitAll new programmers wouldn't need to learn about Promises at all. You have a point with concurrency, but handling concurrency is an another beast altogether.
- always_good 9y agoI have a hard time understanding how adding alias indirection disambiguates anything much less spares one from learning something. How does one get to the point where they want to await multiple promises, yet they need to be insulated from the very presence of the `Promise` object?
- ujal 9y agoWell at least in my mental model a Promise is an object that eventually resolves to something within its .then() method. In contrast my mental model of await is that of a blocking call. One can internalize the latter without the former.