2017-02-25 3 views
0

すべての非同期要求(コールバック)を行い、結果を同期的に返す単純なインターフェイスを作成します。 私はFuture Callableを使うことができましたが、私が使っているリクエストはAPIリクエストなので、Futureは役に立たないでしょう。 例えば:APIコールバックの値を同期的に返します

public boolean login(String user,String pass) { 
    boolean result = false; 
    API_Login(user,pass,new APICallback() { 
     @Override 
     public void done(APIException e) { 
      //logic here 
      result = true; 

     } 
    }); 
    return result; 
} 

私は約束ライブラリを使用して考えたが、その後、再び、私は約束の「その後」または「完了」イベントのためにAPIの外にコールバックを実装する必要があります。

答えて

0

メッセージブローカーを使用できます。 1.要求プロセッサスレッドを開始します。 2.このスレッドでAPIリクエストを受信します。 3.ダウンストアームにリクエストを送信するには、メッセージブローカーを使用します。メッセージブローカへのダウンストリームリクエストを公開します。 correlationIdでリスナーを開始します。 4a。ディスパッチャコンポーネントは、メッセージブローカー&を聞いて、ダウンストリーム要求を受け取ることができます。実際には下流側と通信します。 4b。ダウンストリームから応答(Async)を取得します。メッセージブローカー にこの応答を公開します。5.メインのリスナーが応答を受け取ります。 6.レスポンスまたはタイムアウトをコンシューマに返送します。

+0

最終的なリスナーは、私があなたに合っていれば非同期でしょうか? –

関連する問題