gpt4 book ai didi

java - 如何使用 retryWhen() Rxandroid

转载 作者:行者123 更新时间:2023-11-30 00:11:16 26 4
gpt4 key购买 nike

我使用 RXJava 调用一个昂贵的递归函数。大多数时候它运行得非常快,但有时它会生成太长的 take 方式

如果线程仍在运行,有没有办法在 5 秒后使用 retryWhen()

 observable = getObservable(); ///Runs a recursive function
mObserver = getSudokuPuzzleObserver();

observable.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.retryWhen() // How to use retryWhen onNext() isn't called in 5 seconds
.subscribe(mSudokuPuzzleObserver);

最佳答案

我不知道它是否适合你的解决方案,但我想到了类似的东西

    Observable observable = getObservable();
observable.timeout(5, TimeUnit.SECONDS)
.retry(e -> e instanceof TimeoutException)
.subscribe(mSudokuPuzzleObserver);

timeout 如果 observable 在 5 秒内没有发出任何东西,将抛出异常,如果错误是由超时引起的,onError 它将重试完全相同的 observable。

关于java - 如何使用 retryWhen() Rxandroid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48087023/

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