0

JavaScript で次のようなロジック コードを作成したい:

if(a===b)
//wait 5 s
wait(5);
//recheck a===b
if a continue === b
--->do something
if not
do nothing 

JavaScript や jQuery でできますか?

4

3 に答える 3

1

Javascript では、これにタイムアウトを使用します。

if(a===b){
  window.setTimeout(function(){
    if(a===b){//Recheck a === b
      do_something();
    }
  }, 5000);//Wait 5000 milliseconds before executing this function
}
于 2013-11-06T07:07:37.570 に答える
1

これは可能ですが、少し違った見方をする必要があります。待機コマンドやスリープ コマンドがないため、直線的な手順ではありません。代わりに、指定した遅延の後に関数が実行されるようにスケジュールできます。

したがって、実際の手順は次のようになります。

if (a===b) {
    // set function X to happen in 5 seconds
}

function X() {
    if (a == b) { // still equal
        // do something
    }
}

実際のコードでは、次のようになります。

function checkIt() {
    if (a == b) {
        doSomething();
    }
}

if (a == b) {
    setTimeout(checkIt, 5000);
}

...またはもう少し凝縮したバージョン:

if (a == b) {
    setTimeout(function() {
        if (a == b) doSomething();
    }, 5000);
}
于 2013-11-06T07:07:54.077 に答える