JSFiddle - React, Tailwind, and code Playground
by donniec
HTML
<h2>Eat, Sleep, Work</h2>
<ul>
</ul>
JavaScript
eat();
sleep();
work();
function eat(callback){
return asyncPrint('eat', callback);
}
function sleep(callback){
return asyncPrint('sleep', callback);
}
function work(callback){
return asyncPrint('work', callback);
}
function asyncPrint(msg, callback){
return new Promise(function(resolve, reject){
randomAsync(function(){
print(msg);
if(callback) callback();
resolve();
});
});
}
function print(msg){
var li = document.createElement('li');
li.innerHTML = msg;
document.querySelector('ul').appendChild(li);
}
function randomAsync(callback){
var timeout = Math.round(Math.random() * 100);
setTimeout(callback, timeout);
}