I agree that in this case, there's no need for async/await, but whenenver you have logic that needs to happen between the async requests, it makes things so much cleaner.
E.g. I'm writing a Lambda that scrapes a website, then creates an Item to put into a DB, then makes the async db put:
module.exports.scraper=asyncevent=>{constresponse=awaitgot(URL);// pick the HTML elements I want, e.g. top 10 headlines// create the Item I want to put into db (10 headlines plus a date, e.g.)returnawaitclient.put(params).promise();}
Also agree with @leob
though that understanding Promises is still super. You may well need to combine the two as well, e.g.
constgetStuff=async()=>{constthingOnePromise=axios.get('thingOneAPI');constthingTwoPromise=axios.get('thingTwoAPI');const[thingOne,thingTwo]=awaitPromise.all([thingOnePromise,thingTwoPromise])console.log(thingOne+" and "+thingTwo);}
EU 🇪🇺 | Art, Tech & Good Vibrations 🤳 | Founder of ᴛᴏᴍᴏʀʀᴏᴡ 🌞 hellotomorrow.agency • Just started working on a new endeavour 👉 usepoe.app • Follow me on Twitter!
Location
Brussels, Belgium
Work
UX Engineer, Product Manager, sometimes Designer at Self
EU 🇪🇺 | Art, Tech & Good Vibrations 🤳 | Founder of ᴛᴏᴍᴏʀʀᴏᴡ 🌞 hellotomorrow.agency • Just started working on a new endeavour 👉 usepoe.app • Follow me on Twitter!
Location
Brussels, Belgium
Work
UX Engineer, Product Manager, sometimes Designer at Self
I agree that in this case, there's no need for async/await, but whenenver you have logic that needs to happen between the async requests, it makes things so much cleaner.
E.g. I'm writing a Lambda that scrapes a website, then creates an Item to put into a DB, then makes the async db put:
Also agree with @leob though that understanding Promises is still super. You may well need to combine the two as well, e.g.
(similar example given by Wes Bos in his talk on async/await which I highly recommend: youtube.com/watch?v=DwQJ_NPQWWo)
I'm not a async await hater, for me they are isomorphic which can transform to each other. I even like to mix using promise and async await.
The main problem of this article is the examples to judge async await is better than promise is pretty bad one.
Also, why is no one ever bothered by having to add that try/catch block... I don't understand. I hate it.
Yes,
catch
is much more elegant.Can you explain why there must be a try/catch block?
@Manuele J Sarfatti
In a classic promise you have:
If you switch to using await and you do:
but the promise fails (throws an exception), then you have yourself an unhandled exception, and the browser will most probably crash your app.
The equivalent of the classic promise is therefore:
PS: this is pseudo-code off the top of my head and most probably not working, it's just to give an idea