私が必要としているのは、javascriptが条件をチェックし続けることです(whileループと同様)。私はsetIntervalを実行してこれを行っています。条件が満たされた場合は、間隔をクリアして終了します。または、X回実行された場合は、以下の場合は100に設定します。
私はこれがあまり好きではありません、それがうまくいくので私はそれを一緒に投げました。サーバーからのデータをチェックしていますが、これは遅いです。別の方法が必要な主な理由は、AJAX呼び出しの開始時に実行される読み込みGIFがあるためです。このコードを、表示のために下部に貼り付けます。動作が遅いので、javascriptがインターバルにある間は、gifをレンダリングできないため、動画が停止するだけだと思います。
誰かが私がやりたいことをするための代替案を知っていますか?これが理にかなっているといいのですが?
function checkCondition(name,action){
var timesRun = 0;
var success = false;
var interval = setInterval(function() {
timesRun++;
var container = {};
container = mapSystem["desktop"];
if(action === "delete"){
var isExisting = name in container ;
if ( !isExisting || (timesRun === 100)) {
//break out of this interval
clearInterval(interval);
renderCheckList();
success = true;
} else {
// Update mapNodeData with fresh data
updateData('desktop', false); // Just updates data
}
}
}, 2000);
}
// Code that I have to render a loading GIF. Works great but seems
// to stop during the interval
$('#loading').hide().ajaxStart(function() {
$(this).show();
}).ajaxStop(function() {
$(this).hide();
});