Timeline for How do JavaScript engines convert async/await to promises under the hood?
Current License: CC BY-SA 4.0
11 events
| when toggle format | what | by | license | comment | |
|---|---|---|---|---|---|
| Jun 6, 2024 at 20:40 | vote | accept | dx_over_dt | ||
| Dec 1, 2019 at 21:08 | comment | added | jfriend00 | It doesn't need to transform it into regular .then() code because it can directly suspend function execution. How exactly a given engine does this is implementation dependent. It's certainly cleaner if they natively support suspending function execution upon an await without rewriting the logic. | |
| Dec 1, 2019 at 21:00 | comment | added | dx_over_dt | Ah, so it doesn't first transform the code into a Promise and then run that. | |
| Dec 1, 2019 at 20:58 | comment | added | jfriend00 | Well, the engine has await functionality built in. It literally suspends execution of the function body until the promise resolves/rejects. It doesn't have to rewrite code into .then() handlers. | |
| Dec 1, 2019 at 20:54 | comment | added | dx_over_dt | Right, which is why I'm wondering how the engine handles them. | |
| Dec 1, 2019 at 20:53 | comment | added | jfriend00 | @dx_over_dt - Conditional asynchronous operations are simply a lot easier to code with async/await. | |
| Dec 1, 2019 at 20:51 | comment | added | dx_over_dt | So if there were a lot of conditional awaits, it would produce a bunch of stringed, repeated, thens? | |
| Dec 1, 2019 at 20:50 | comment | added | jfriend00 | @dx_over_dt - OK, I fixed that. | |
| Dec 1, 2019 at 20:50 | history | edited | jfriend00 | CC BY-SA 4.0 | added 44 characters in body |
| Dec 1, 2019 at 20:47 | comment | added | dx_over_dt | When doAwait is true, I don't return the value of doSomethingAsync. | |
| Dec 1, 2019 at 20:46 | history | answered | jfriend00 | CC BY-SA 4.0 |