Nothing happens concurrently (at the same time), only asynchronously (at different times).
From the documentation:
> Note that JavaScript is single-threaded by nature, so at a given instant, only one task will be executing, although control can shift between different promises, making execution of the promises appear concurrent. Parallel execution in JavaScript can only be achieved through worker threads.
I hope that explains it for you.