У меня есть наблюдаемый, который оборачивает запрашивайте HTTPКак обновить наблюдаемые в RxJava?
mObservable = retryObservable(mService.getAddressList(getUserId(), true, 1, Integer.MAX_VALUE, "id", true)
.map(r -> {
return r.getItems();
})
.observeOn(AndroidSchedulers.mainThread()));
затем подписной
mSubscription = mObservable.subscribe(items -> {
mAddressAdapter.swapItems(items);
}, getActivityBase()::showError);
Когда приходит инициализация подписки, холодный наблюдаемым активируются и запрос HTTP срабатывает. Теперь я знаю, что базовые данные изменились, и мне нужно сделать такой же, но новый запрос. Я попытался
mSubscription.unsubscribe();
затем вызывая
mObservable.subscribe(items -> {doSomething();})
снова, как от моего понимания, подписавшись должен вызвать наблюдаемый, но он не работает. Любые предложения?
В RxNet мы имеем фабричный метод для этого: [Перенести] (http://msdn.microsoft.com/en-us/library/hh229160 (v = vs.103) .aspx). Я предполагаю, что RxJava имеет аналогичный метод. –
@DaveSexton Очень хорошая точка, я собираюсь добавить ссылку на документацию RxJava defer. Никогда не слышал об этом раньше, спасибо. – tomrozb