【发布时间】:2016-11-05 00:14:43
【问题描述】:
给定一个像这样的通用 Retrofit2 Rxjava 调用:
mMbtaApi.getFullAlerts(ApiConfig.MBTA_API_KEY)
.subscribeOn(Schedulers.io())
.observeOn(Schedulers.computation())
.subscribe(alerts -> {
mAlerts = alerts;
mAlertListSubject.onNext(getFilteredAlerts());
mLoadSubscription.unsubscribe();
},
err -> {
mAlertListSubject.onError(err);
mLoadSubscription.unsubscribe();
});
你如何重新执行它? 我认为这样的事情可以做到(单独订阅应该可以做到,但我添加了取消订阅以防万一):
alerts = mMbtaApi.getFullAlerts(ApiConfig.MBTA_API_KEY)
.subscribeOn(Schedulers.io())
.observeOn(Schedulers.computation())
alerts.unsubscribe(handler)
alerts.subscribe(handler)
但是当我进行第二次订阅时,我没有看到任何网络流量。 警报 HTTP 返回标头指示不应缓存数据:
Cache-Control no-cache
Pragma no-cache
Content-Type application/json; charset=utf-8
Expires -1
所以http缓存数据肯定不行。
【问题讨论】:
标签: rx-java observable retrofit2