An async function will be run synchronously until the first await is hit.

The Event Loop

Optimising Node.js performance by avoiding broken Promises

Event Loop and Worker Pool