同步返回API回调值

时间:2017-02-25 21:21:16

标签: android asynchronous synchronous api-design

我想创建一个简单的接口来创建所有异步请求(回调)并同步返回结果。 我可以使用Future callable,但我使用的请求是API请求所以Future将无济于事。 例如:

 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;
}

我考虑过使用promise库,但是我必须在API之外实现一个回调,用于承诺的“当时”或“完成”事件。

1 个答案:

答案 0 :(得分:0)

您可以使用消息代理。 1.启动请求处理器线程。 2.在此线程中接收API请求。 3.要向downteam发送请求,请使用消息代理。将下游请求发布到消息代理。在correlationId上启动一个监听器。 4A。调度程序组件可以监听消息代理和&拿起你的下游请求。它实际上将与下游沟通。 4B。从下游获取响应(Async)。将此响应发布到消息代理 5.您的主要听众会收到回复。 6.将回复或超时发回给消费者。