JavaScript の 2 つの独自ライブラリ (lib_Upper と lib_Lower) の間に存在する JavaScript ライブラリがあります。私たちのライブラリは lib_Lower からの戻り値を lib_Upper が期待する値/関数に変換します - つまり
lib_Upper -> lib_US -> lib_Lower
lib_Lower は非同期で実行されますが、promise やその他の遅延オブジェクトは返しません。同様に、lib_Upper はすべてが同期しているかのように機能します。
したがって、非同期呼び出しに変換する必要があります。
呼び出しのプロセスは次のとおりです。
lib_Upper calls lib_US.fn()
lib_US calls lib_lower.fn2()
lib_Lower sends the request over a WebSocket and returns
この時点で、すべてが lib_Upper に戻ります。
しばらくすると、WebSocket から応答が返されます。
lib_Lower calls lib_US.callbackFn()
lib_US library needs to return the data from lib_lower to lib_Upper
この時点で、すでに lib_Upper に戻っているため行き詰っています。
JavaScript は初めてなので、コールバックが発生するまで lib_Upper からの呼び出しを「一時停止」するのはかなり難しいようです。
lib_Upper がコールバックからのデータのみを返すように、このチェーンへの非同期イベントを取得するにはどうすればよいでしょうか?
ありがとう。