使用RxJava

时间:2016-08-29 07:36:56

标签: android rx-java retrofit2

如果条件为真,我试图将第二次调用链接到端点,这个条件与第一个端点调用无关。这就是我到目前为止的方式:

retrofitService.endpoint1()
            .subscribe(response1 -> {
                    doStuff(response1);
                    if (condition){
                        retrofitService.endpoint2()
                                .subscribe(response2 -> {
                                doStuff(response2)
                                 });
                    }
              });

是否有运营商可以使用以避免在第一个呼叫用户中进行if和第二次呼叫?

1 个答案:

答案 0 :(得分:0)

我会使用过滤器 http://reactivex.io/documentation/operators/filter.html

欢呼声 WOJTEK

关于您的评论

这样做:

retrofitService.endpoint1()
    .filter(condition)
    .subscribe(response1 -> {
                    retrofitService.endpoint2()
                        .subscribe(response2 -> {
                                    doStuff(response2)
                                                });

              });