2011-10-21 17 views

答えて

171

コードを再構成する必要があります。これは実行を止めるものではなく、パーツ間に遅延をかけるだけです。

function partA() { 
    ... 
    window.setTimeout(partB,1000); 
} 

function partB() { 
    ... 
} 
+2

'window.setTimeout(partB、1000)'で 'partB'にパラメータを渡すことはできますか? – brain56

+5

マイケル・ハレンの答えなどの無名関数でラップするとできます。 –

+19

この回答は半分だけ正しいです。 'setTimeout()'は 'sleep()'と同じではありません。 'setTimeout()'は、指定された時間に非同期に実行されるように指定された関数をスケジュールします。残りのコードは、 'partB'関数が実行されるまで待たず、' sleep() 'と同じ機能ではありません。参照:http://stackoverflow.com/questions/4122268/using-settimeout-synchronously-in-javascript – cartbeforehorse

101

スリープ機能での処理をブロックすることはできません。しかし、あなたが遅延した後に機能をキックオフするsetTimeoutを使用することができます。

setTimeout(function(){alert("hi")}, 1000); 

必要に応じて、setIntervalも、役に立つかもしれません。

+9

'sleep'は処理をブロックしません。処理を続行することができます。 – EML

9

setTimeout()関数は、JavaScriptでプロセスを遅延させるために使用します。

w3schoolsには、この機能に関する簡単なチュートリアルがあります。

+3

w3Schoolは信頼性が高くないため、代わりにこれを使用してください:https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setTimeout – jolySoft

関連する問題