gpt4 book ai didi

android - RxJava 调用一次性 dispose()

转载 作者:行者123 更新时间:2023-11-29 00:59:32 25 4
gpt4 key购买 nike

我正在使用 rxjava 进行改造。在下面的代码中,subscribeOn() 和 observeOn() 保持运行。该应用程序不断自行终止和启动。

disposable = api.getUsers("135")
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe({
users -> showResult(users)
})

如果我在上面的操作之后立即进行处理,它将不会获取完整的数据。所以我的问题是何时处理一次性或如何知道 subscribeOn() 和 observeOn() 何时完成其任务。

最佳答案

您可以在 ActivityonDestroy()dispose

或者您可以永久使用 DisposableSingleObserver,如下所示:

Disposable disposable = yourApi.subscribeWith(new DisposableSingleObserver<List<String>>() {

@Override
public void onSuccess(List<String> values) {
// work with the resulting values
}

@Override
public void onError(Throwable e) {
// handle the error case
}
});

and then after you use the result (in this example case when you no longer need the values(api response) you can call dispose

    disposable.dispose();

放置观察者的最佳位置将在 onDestory() 中,这将是您不再需要 api 结果的地方:

protected void onDestroy(){
super.onDestroy();
disposable.dispose();
}

关于android - RxJava 调用一次性 dispose(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52239023/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com