我需要调用3个不同的接口...each api依次接受另一个接口输出的输入..
例如: API1 -> output ->将为API2 API2输入->输出->将为API3输入
在我情况下,微调器包含API1 ....On微调器选择,我需要调用API2等。目前我正在为每个API编写单独的代码,并使用Observer...but调用它们。我想使用RxJava、RxKotlin和Retrofit flatmap依次调用API。concepts.So是否有任何方法使用它们,我可以依次调用这三个API,而不是分别编写它们。
发布于 2018-01-20 13:40:41
发布于 2020-02-19 16:08:45
添加来自Surinder共享的链接的代码片段
public Single<List<Restaurant>> getRestaurants(int userId) {
return ddApi.getUserInfo(userId).flapMap(user -> {
return ddApi.getAvailableRestaurants(user.defaultAddress.lat,
user.defaultAddress.lng);
});
}
public class RestaurantFragment {
private CompositeDisposables disposables = new CompositeDisposables();
private RestaurantDataSource restaurantDataSource;
@Override
public void onResume() {
// subscribe to the Single returned by RestaurantApi
restaurantDataSource
.getRestaurants(userId)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new SingleObserver<Restaurant>() {
@Override
public void onSubscribe(Disposable d) {
disposables.add(d);
}
@Override
public void onSuccess(List<Restaurant> restaurants) {
// update the adapter with restaurants
}
@Override
public void onError(Throwable e) {
// display an error message
}
});
}
@Override
public void onPause() {
disposables.clear();
}
}https://stackoverflow.com/questions/48352964
复制相似问题