Too Long; Didn't Read Some developers tend to believe that the function written with async/await will always be executed synchronously. This is because the code looks like if we wait synchronously for the delayed operation before continuing the execution. Like with promises, it is up to the caller to decide if the code will run synchronously or not. That’s the reason why the code does not work as expected with constructs like for Each. If the caller does not make use of await(respectively then with promises) then your code will not run synchronous.