JSFiddle - React, Tailwind, and code Playground

HTML

<div id="main">

</div>

JavaScript

const input = [5,4,3,2,1,8,7,0,12]
const output = [ ]

input.forEach(number => {
  // assuming num*10ms difference is enough to avoid a race
  setTimeout(() => {
     output.push(number)
  }, number * 10)
});

const timer = setInterval(() => {
  if (output.length === input.length) {
       document.getElementById('main').innerHTML = output.join(' ')
       clearInterval(timer);
  }
}, 10)