JavaScriptのコードを非常に読みやすくしながら別の関数を呼び出す前に、関数の実行を一時停止する方法を解明しようとしています。 、私はのsetTimeoutを使用する方法についての記事の数十を読んだ外部待機クラスを使用してJavaScript関数の実行を一時停止する
function main_function(){
function a();
// wait for function a to finish - could take 1 second - could take 3 seconds
function b();
// wait for function b to finish - don't know how long this will take
function c();
// completed
}
他の機能、コールバックなどにリダイレクトしますが、実際に働いていた解決策を見つけることができませんでした:ここで私が何をしようとしています何の例です。 (ほとんどの場合、ちょうどそれぞれの関数がどれくらいの時間を取るか分からないので、実際には役に立たないcloneyなsetTimeout()を使用します)。
私は最終的に "WaitThread.js"という小さなユーティリティを見つけました。これはまさに私がやる必要があるようで、後で読むと維持するのが簡単なように思えます。
しかし、私はそれを使用する方法を理解できません! :)
誰も私にこのWaitThread.jsの使用方法の例を教えてもらえますか?または、少なくとも私は最初に終わるのを待っている間、次々に実行するjavascript関数を待つ読み込み可能な/エレガントな方法を提供しますか?
http://www.robertmayo.com/blog/2006/07/htmljavascript-wait-for-asynchronous.html
ありがとう:ここ
はWaitThread.jsページへのリンクです!
その解決策は本当に魔法でも何でもありません。それは、ウォッチドッグタイマーを使ってある状態の変化をポーリングすることだけです。 Webブラウザでは、JavaScriptコードで「待機」することはありません。問題にアプローチする唯一の方法は、非同期プログラミングモデルを取り入れることです。 – Pointy
また、これらの機能が何をしているのか、そしてそれが何をして長時間かかるのかについて詳しく説明すると、いくつかの説明と示唆を与えるのに役立ちます。 – Pointy