JavaScript で次のようなロジック コードを作成したい:
if(a===b)
//wait 5 s
wait(5);
//recheck a===b
if a continue === b
--->do something
if not
do nothing
JavaScript や jQuery でできますか?
JavaScript で次のようなロジック コードを作成したい:
if(a===b)
//wait 5 s
wait(5);
//recheck a===b
if a continue === b
--->do something
if not
do nothing
JavaScript や jQuery でできますか?
Javascript では、これにタイムアウトを使用します。
if(a===b){
window.setTimeout(function(){
if(a===b){//Recheck a === b
do_something();
}
}, 5000);//Wait 5000 milliseconds before executing this function
}
これは可能ですが、少し違った見方をする必要があります。待機コマンドやスリープ コマンドがないため、直線的な手順ではありません。代わりに、指定した遅延の後に関数が実行されるようにスケジュールできます。
したがって、実際の手順は次のようになります。
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);
}