小编Pet*_*toU的帖子

如何刷新RxJava中的observable?

我有一个observable,它包装了一个HTTP请求

mObservable =  retryObservable(mService.getAddressList(getUserId(), true, 1, Integer.MAX_VALUE, "id", true)
            .map(r -> {
                return r.getItems();
            })
            .observeOn(AndroidSchedulers.mainThread()));
Run Code Online (Sandbox Code Playgroud)

然后订阅

mSubscription = mObservable.subscribe(items -> {
                mAddressAdapter.swapItems(items);
            }, getActivityBase()::showError);
Run Code Online (Sandbox Code Playgroud)

订阅初始化到来时,将激活cold observable并触发HTTP请求.现在,我知道基础数据已经发生了变化,我需要做出同样的新请求.我试过了

mSubscription.unsubscribe();
Run Code Online (Sandbox Code Playgroud)

然后打电话

mObservable.subscribe(items -> {doSomething();})
Run Code Online (Sandbox Code Playgroud)

再次,从我的理解,订阅应该触发可观察,但它不起作用.有什么建议 ?

android functional-programming reactive-programming rx-java

6
推荐指数
1
解决办法
3893
查看次数