A little more verbose than your example but https://github.com/tc39/proposal-async-do-expressions would help with this.
for (const item of iterable)
async do {
await item()
}
This would be equivalent to Promise.all(arr.map(async item => {
await item()
})
Notice the lack of await before Promise.all