JSFiddle - React, Tailwind, and code Playground

by liammccann1992

HTML

<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.4/themes/ui-lightness/jquery-ui.css">
<button onclick="Ajax();">Start 5 Seconds Server Call</button>

JavaScript

var timeout;

function asyncFunction(func) {
    return function () {
        console.log("Working with listing: " + displayTime());

        func();
    };
}

function Ajax() {
     //clearTimeout(timeout);
    timeout = setTimeout(asyncFunction(function (data) {
        console.log('Done ' + displayTime());
        Ajax();
    }), 1000);

}

function displayTime() {
    var str = "";

    var currentTime = new Date();
    var hours = currentTime.getHours();
    var minutes = currentTime.getMinutes();
    var seconds = currentTime.getSeconds();

    if (minutes < 10) {
        minutes = "0" + minutes;
    }
    if (seconds < 10) {
        seconds = "0" + seconds;
    }
    str += hours + ":" + minutes + ":" + seconds + " ";
    if (hours > 11) {
        str += "PM";
    } else {
        str += "AM";
    }
    return str;
}
//http://www.w3schools.com/jsref/met_win_cleartimeout.asp
//http://stackoverflow.com/questions/5209853/convert-a-javascript-timer-function-to-use-asynchronous-calls