Android Retrofit 请求A接口后再请求B接口,代码怎么写才好看?

类似这种:

public class test {
  public void first() {
    firstApiRequest(new Callback() {
        @Override
        public void onSuccess(Data data) {
          second(data);
        }
    });
  }

  public void second(Data data) {
    secondApiRequest(data, new Callback() {
        @Override
        public void onSuccess(Data2 data2) {
          third(data2);
        }
    });
  }

  public void third() {
    // ....
  }
}

还有一种是要实现两个接口同时请求, 并且当两个接口都响应后才调用回调进行处理数据, 类似 JS中的 Promise.all

Promise.all([firstApiRequestPromise, secondApiRequestPromise])
    .then(([data1, data2]) => { ... })

有没有办法实现

阅读 2k
2 个回答
当然是结合Rx
新手上路,请多包涵

retrofit结合rxjava,采用链式调用。建议了解一下rxjava的map等操作符。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题