gpt4 book ai didi

java - 没有跳过错误的 ConcatMap 选项 - RxJava

转载 作者:行者123 更新时间:2023-11-29 19:03:14 25 4
gpt4 key购买 nike

考虑这个例子:我有一个文件按顺序下载。如果一个下载失败,它应该移动到下一个。伪代码:

Observable.from(urls)
.concatMap(url -> downloadObservable(url))

如果下载失败,则没有移动到下一个 url 的选项。

无法使用 onErrorResumeNext() 跳过,因为我只想转到下一个 url。谁能帮忙?

最佳答案

从 1.3 开始有一个操作符:concatMapDelayError。一般来说,如果有一个原因可以延迟错误直到所有源都被完全消耗,则可能有一个 opNameDelayError 运算符。

Observable.from(urls)
.concatMapDelayError(url -> downloadObservable(url))
.doOnError(error -> {
if (error instanceof CompositeException) {
System.out.println(((CompositeException)error).getExceptions().size());
} else {
System.out.println(1);
}
});

(doOnError 附录来自 RxJava 问题列表中更新的 OP 的 cross post。)

关于java - 没有跳过错误的 ConcatMap 选项 - RxJava,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48111319/

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