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);