gpt4 book ai didi

android - 如何重试消耗的 Observable?

转载 作者:行者123 更新时间:2023-11-29 02:34:56 25 4
gpt4 key购买 nike

我正在尝试重新执行一个已定义但失败的可观察对象。一起使用 Retrofit2 和 RxJava2 我想在单击按钮时重试具有订阅和行为的特定请求。那可能吗?

service.excecuteLoginService(url,
tokenModel,
RetrofitManager.apiKey)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribeWith(....)

最佳答案

一个选项是创建 Publisher,其发射由您的按钮控制。

final PublishSubject<Object> retrySubject = PublishSubject.create();


service.excecuteLoginService(url,
tokenModel,
RetrofitManager.apiKey)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.doOnError(throwable -> showButton())
.retryWhen(observable -> observable.zipWith(retrySubject, (o, o2) -> o))
.subscribeWith(result -> {}, error -> {});

您的按钮只会从 Subject 发出一个项目:

retrySubject.onNext(EMPTY);

关于android - 如何重试消耗的 Observable?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47619115/

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