【发布时间】:2014-12-01 21:36:52
【问题描述】:
我有一个 observable,它封装了一个 HTTP 请求
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);
当订阅初始化到来时,cold observable 被激活并触发 HTTP 请求。现在,我知道基础数据已更改,我需要提出相同但新的请求。 我试过了
mSubscription.unsubscribe();
然后调用
mObservable.subscribe(items -> {doSomething();})
再次,据我了解,订阅应该会触发 observable,但它不起作用。 有什么建议吗?
【问题讨论】:
标签: android functional-programming reactive-programming rx-java