I agree with Paul-Sebastian Manole here. Also let's not forget how the JavaScript work behind the scenes. Promises are sent to the event loop to be processed once the stack is clear. There is a reason async functions are different from synchronous code that we write.