Node.js の非同期メソッド API について質問があります。
それで、私は関数を持っています、それを呼びましょうlongSetup(callback)
。
その名の通り、longSetup(callback)
完成までに時間がかかります。ただし、このセットアップは他のことと並行して行うことができます。だから、longSetup()
起こっている間、私は他のものも同様にセットアップすることができます.
したがって、一度longSetup()
完了すると、そのクラスは などの別の関数を実行する準備が整いserveData()
ます。
さて、いつ召喚されるかわかりませんserveData()
。serveData()
ユーザー I/O に基づいており、終了前longSetup()
または終了後に呼び出すことができますlongSetup()
。また、直接呼び出すことはありませんserveData()
。
が正常に実行されるlongSetup()
前に完了する必要があるのは事実ですが、非同期で実行できるという事実を利用したいので、同期バージョンの;を実装したくありません。その間に他の設定をしておけばよかった。serveData()
longSetup()
longSetup()
いつでも呼び出せるので、呼び出されたときに is が完了しserveData()
ているかどうかを確認したい。完了したら、 に進みます。そうでない場合は、完了するまで待ってから実行を続行します。は一度しか呼び出されないため、ほとんどの場合、待機しません。また、ユーザー I/O に時間がかかる場合も、初回起動時までに完了します。longSetup()
serveData()
serveData()
longSetup()
longSetup()
longSetup()
serveData()
別の関数を実行する前に関数が戻るのを待つ/別の関数を次々と起動するなどに関するいくつかのSOの質問と回答を経験しました.Nodeの非同期の方法とコールバックを使用する理由を理解しています. ただし、これは別のユースケースであり、ノードが別の非同期関数を待機する方法を提供するかどうか疑問に思っていました。
皆さんありがとう!