0
ネットワーク要求を処理するためにRxJava2とRetrofit2を使用しています。廃棄がネットワーク要求をキャンセルするのを防ぐ
私はいつもdoOnNext
を実行する必要がありますが、オブザーバーであるActivity
が破壊され、その要求を取り消すためにdispose()
が呼び出されます。
java.io.IOException: Canceled
リクエストを完了させてUIレベルのオブザーバーのみを廃棄する方法はありますか?
mApi.doSomethingImportant()
.doOnNext(new Consumer<ImportantResponse>() {
@Override
public void accept(ImportantResponse response) throws Exception {
// Store data, should always get here if request is success
}
})
.doOnError(new Consumer<Throwable>() {
@Override
public void accept(Throwable throwable) throws Exception {
// Store error, should always get here if request fails
}
})
.observeOn(AndroidSchedulers.mainThread())
.unsubscribeOn(AndroidSchedulers.mainThread())
.subscribe(observer); // observer reports success/fail on UI if not disposed
ありがとうございます。
あなたは私たちに最低限、完全な例を示していることはできますか?あなたの質問にもっと簡単に答えることができます。 –