'How would I make these await functions run sequentially? [duplicate]

I was wondering what was going on in the following code block:

    async function test() {
        function work() {
          console.log("work");
        }

        await setTimeout(work, 5000);
        await setTimeout(work, 1000);
        await setTimeout(work, 5000);
        await setTimeout(work, 1000);
        await console.log("Hello")
      }

This code block takes 5 seconds total to run and 'Hello' is logged immediately, implying all the functions are executing at the same time. How would I make these functions run sequentially without using Promise.all()? Why is this behavior occuring?



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source