私が欲しいのは:
条件が true か false かをテストする関数 check_and_wait() を呼び出します。指定された時間、設定された間隔でチェック/ループを続けます。
プログラムの残りの部分は、このテストの結果を待つ必要があります。これはうまくいかない部分です。setInterval を使用する必要はありません。現在はそのように実装されています。
function test_condition(){
// do some test. return true or false
}
function check_and_wait(){
var maxtime = 3000;
var start = new Date().getTime();
condition = false;
var interval = setInterval(function() {
if(condition){return true;}
else{
if( new Date().getTime() - start < maxtime ){
condition = test_condition();
}
else{return false;}
}
}, 250);
}
result = check_and_wait();
if(result){
//do something
}
else{
//do something else
}