DEV Community

Discussion on: 7 Reasons Why JavaScript Async/Await Is Better Than Plain Promises (Tutorial)

Collapse
 
welingtonms profile image
Welington Silva

Important to mention that, although it looks cleaner, easier to read and everything, mainly for new developers, using async/await may trick you into not seeing points of opportunity for parallelism and you end up with a series of asynchronous call being treated as a plain synchronous code. For that cases where's there's in no need wait for things to be ran sequentially, Promise.all to the rescue!

Collapse
 
gafi profile image
Mostafa Gaafar

I don't really agree with this. You can make the same mistake with promises or async/await. You can still chain the promises instead of calling them in parallel

Collapse
 
welingtonms profile image
Welington Silva • Edited

You surely can. My point here is not to confuse new devs making them think one replaces the other, because it doesn't. They are two tools you can combine to make the best out of your async flows.
Good post, by the way!

Thread Thread
 
kenbellows profile image
Ken Bellows

tbh I tend to get a little weird with parallel promises and combine destructuring, await, and Promise.all():

const [val1, val2, val3] = await Promise.all(promise1(), promise2(), promise3())
Enter fullscreen mode Exit fullscreen mode

kinda gross, but personally I prefer it to returning to promise chains

Thread Thread
 
welingtonms profile image
Welington Silva • Edited

Yeah, I do that myself (I don't think that's gross at all). That's the combination I think makes sense: we get the benefits of async/await without giving up the parallelism.