私は、その API に固有のノード ライブラリを多用する API と通信する node.js プロジェクトで忙しくしています。一時停止に関連する問題の種類とそのさまざまな解決策に関する既存の質問をすべて読みました (と思います) が、私の問題に正しい解決策を適用する方法はまだわかりません。
簡単に言えば、API ライブラリから複数回呼び出す関数があり、続行する前にそれらがすべて完了していることを確認する必要があります。これまで、同期/非同期のニーズを処理するために優れた caolan/async ライブラリを使用することができましたが、API ライブラリのこの特定の関数でブロックにぶつかりました。
この関数は、https と SOAP の呼び出し/解析を伴うため非常に複雑なので、caolan/async で動作するように書き直さないようにしています。
これは、複数回呼び出してから、すべての呼び出しが完了するまで待機する必要がある非同期関数です。コールバックやプロミス (q ライブラリ) を使用するさまざまな方法を試しましたが、期待どおりに動作させることができず、他の非同期 API 関数で正常に動作しました。
必死になって、既存のすべての非同期関数が完了するまで、プログラムのある時点でたとえば 5 秒間待つことができますが、5 秒が経過するまでそれ以上進行しないという厄介なソリューションを望んでいます。したがって、可能であれば、5 秒間のノンブロッキング一時停止が必要です。
おそらくファイバーを使用してこれを行うことができますが、そのルートに進む前に別のソリューションを本当に望んでいます.