←back to thread

123 points mooreds | 7 comments | | HN request time: 0.212s | source | bottom
1. lolive ◴[] No.45213787[source]
I am teaching asynchronous programming in typescript to junior developpers. And i find really tricky to tell them that async and await do MAJOR magic behind their back to make their code readable as synchronous code.

And then, I need to detail very precisely what "Promise.all()" (and "return") really mean in the context of async/await. Which is something that (I feel) could have been abstracted away during the async/await syntax definition, and make the full magic much more natural.

replies(3): >>45213797 #>>45213808 #>>45213970 #
2. uncletaco ◴[] No.45213797[source]
Man are you going to be disappointed when you read the article.
replies(1): >>45213826 #
3. lolive ◴[] No.45213808[source]
To elaborate a bit, telling them that you should not "aList.foreach(asyncMethod)", but you'd better do "Promise.all(aList.map(asyncMethod))" is NOT very easy for them.
4. lolive ◴[] No.45213826[source]
Man, for the first time in HN, I am teased to actually read the article.

Update: oh my god, I read the article. And feel completely cheated!!!!

Note for my future self: continue to read only the HN comments

5. swid ◴[] No.45213970[source]
Async/await themselves are not that much magic really, it's a bit of syntactic sugar over promise chains. Of course, understanding promises is its own bag.

ChatGPT explanation: https://chatgpt.com/share/68c30421-be3c-8011-8431-8f3385a654...

replies(2): >>45214047 #>>45214087 #
6. lolive ◴[] No.45214047[source]
That reminds me of my Unix guru of the 90s: "man pages ARE easy to read".

[spoil: "when you are already an expert of the tool detailled in it"]

7. lolive ◴[] No.45214087[source]
During my interviews, may be I should ask them to read and understand this:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...

prior to any dev they plan to do in JS/TS.

PS: 10 bucks that none of them would stay.