javascriptの 'wait'関数を作成したいとします。 私は何を編集する必要がありますか?Javascript wait()function
function wait(waitsecs){
setTimeout(donothing(), 'waitsecs');
}
function donothing() {
}
javascriptの 'wait'関数を作成したいとします。 私は何を編集する必要がありますか?Javascript wait()function
function wait(waitsecs){
setTimeout(donothing(), 'waitsecs');
}
function donothing() {
}
JavaScriptはスレッド化されていないため、「待機」するとページ全体がフリーズし、ブラウザがスクリプトを完全に実行しなくなる可能性があります。特に、あなたの問題に対処するために
、あなたはあなたのsetTimeout
呼び出しでdonothing
後に括弧を削除し、waitsecs
数ではない文字列を作成する必要があります。
console.log('before');
setTimeout(donothing,500); // run donothing after 0.5 seconds
console.log('after');
しかし、それは実行を停止しません。 "after"は、関数が実行される前に記録されます。
適切に待つためには、無名関数を使用することができます。
console.log('before');
setTimeout(function(){
console.log('after');
},500);
あなたのすべての変数は、まだ「後」セクションにあるでしょう。これらを連鎖させるべきではありません。自分自身が必要になった場合は、プログラムをどのように構築しているのかを調べる必要があります。また、ループする必要がある場合は、setInterval
/clearInterval
を使用することもできます。
どのような簡単なコード! :) –
あなたはたぶん 'setTimeout(donothing()、waitsecs); 'を意味していましたが、私はそれが何であるかは分かりません。 'setTimeout'はブロックされないので、スピンウェイトを作成しないでください。 http://stackoverflow.com/q/951021/139010 –
より良い質問は、なぜあなたは 'wait'機能を持ちたいのですか? –
このコードは、donothing * immediately *を呼び出し、パラメータの値ではなく文字列を渡します。 'setTimeout(donothing、waitsecs)'は、愚かなラッパーの方がよいでしょう。 –