JSFiddle - React, Tailwind, and code Playground

by cancerbero_sgx

JavaScript

function when(condition, checkMs) { //TODO:timeout
    checkMs=checkMs||200; 
    var promise = jQuery.Deferred(); 
    var callback = function(){
        if(condition()) {
            promise.resolve(); 
            clearInterval(timer); 
        }            
    }
    var timer = setInterval(callback, checkMs); 
    return promise; 
}

//test
var condition = function(){return jQuery('#el1').size()>0; }
var callback = function(){console.log('we are ready'); }

when(condition).done(callback); 

//insert a delayed el
var insertElement1=function(){jQuery(document.body).append('<div id="el1">hello!</div>'); }
setTimeout(insertElement1, 2000);