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)