JSFiddle - React, Tailwind, and code Playground

by donniec

HTML

<h2>Day, Eat, Sleep, Work</h2>
<ul>
</ul>

JavaScript

var days = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'];

Promise.all(
    //map an array of promises
)
.then(function(){
    print('WEEKEND!');
});

function theDay(day){
    return asyncPrint(day);   
}

function eat(){
    return asyncPrint('eat');
}

function sleep(){
     return asyncPrint('sleep');   
}

function work(){
     return asyncPrint('work');   
}

function asyncPrint(msg){
    return new Promise(function(resolve, reject){
        randomAsync(function(){
            print(msg);
            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);
}