首页 > 解决方案 > 如何取消与 RxJava2 的通话?

问题描述

我正在使用 RxJava2 和 Retrofit。在我的片段中,我请求上传一个本地文件:

Disposable disposable = mApi.requestUpload(file)
        .subscribeOn(Schedulers.io())
        .observeOn(AndroidSchedulers.mainThread())
        .subscribe(response -> {
            toast("success");
        }, throwable -> {
            toast("failed");
        });
mCompositeDisposable.add(disposable);

然后,清除所有一次性用品onDestroyView()

@Override
public void onDestroyView() {
    mCompositeDisposable.clear();
    super.onDestroyView();
}

但是我用Charles查看了所有的请求,在我完成fragment之后发现请求还在执行。一段时间后文件仍然上传成功

片段关闭时如何取消通话?

标签: androidretrofitrx-java2

解决方案


用于disposable.dipose()取消您的通话。


推荐阅读