0

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 がコールバックからのデータのみを返すように、このチェーンへの非同期イベントを取得するにはどうすればよいでしょうか?

ありがとう。

4

1 に答える 1