Re:V8 adds support for top-level await
by laughinghan on Tuesday September 24, 2019 @09:00PM
(#21066501)
I think you missed this part: "instead make developers explicitly say when they wish for the result to be async"
So using Promise.all() would be as simple as:
const results = Promise.all(async fetch(url1), async fetch(url2))
Types make it easier to catch mistakes early in general. Typescript has a compiler rule 'no-hanging-promises' to help avoid forgetting to await.