JSFiddle - React, Tailwind, and code Playground

JavaScript

function say(x) {
  document.body.innerHTML += x + '<br>'
}

let tasks = [
      ()=>say('hello'),
      ()=>say('world'),
      ()=>say('foo'),
      ()=>say('bar'),
    ],
    timer = setInterval(function() {
      (tasks.shift())()
      if (!tasks.length) clearInterval(timer)
    }, 1000)