I'd add a few 'Gotchas' and maybe some more information here!
When using async/await it's very difficult to use finally and catch, async await only deals with 'resolve'
Promises are a great way (and I think the only way) to add a micro task into the event loop, micro tasks are the only way to ensure execution before the next tick. (done with Promise.resolve())
You could probably await a Promise.all() as well, as it returns a promise
Other than that, good stuff!
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.