Я использую RxAndroid + Retrofit и хочу объединить 2 действия в одно. Например, у меня есть два метода. Первый возвращает некоторый URL-адрес в блоке onNext.
apiRequests.getApi().getURL()
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<CreateUserResponse>() {
@Override
public void onCompleted() {
}
@Override
public void onError(Throwable e) {
}
@Override
public void onNext(CreateUserResponse createUserResponse) {
secondMethos(createUserResponse.getURL()); // HERE GOES THE URL
}
});
Второй метод использует этот URL, чтобы сделать что-то еще
public void secondMethod(URL){
Observable.create(new Observable.OnSubscribe<Object>() {
@Override
public void call(Subscriber<? super Object> subscriber) {
}
});
Observable.create(new Observable.OnSubscribe<List<Arg>>() {
@Override
public void call(Subscriber<? super List<Arg>> subscriber) {
subscriber.onNext(test(URL));
subscriber.onCompleted();
}
}).subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<List<Arg>>() {
@Override
public void onCompleted() {
}
@Override
public void onError(Throwable e) {
}
@Override
public void onNext(List<Arg> params) {
}
});
}
Можно ли объединить эти методы в один? Спасибо