当前位置: 首页 > 知识库问答 >
问题:

RxJava Observable继续出错并获取状态

有凯泽
2023-03-14

在RxJava(或一般的RX)中,是否有任何方法可以组合可观察对象,使生成的可观察对象等待直到每个可观察对象以任何一种方式完成(当其中任何一个抛出错误时不会吓坏),然后完成一个包含有关哪个可观察对象成功完成以及哪个遇到错误的信息的结果?

如果observable成功完成,它还将返回observable的结果;如果observable失败完成,它将返回错误原因(如Throwable实例)?

行为类似于此(RSVP.js):

https://github.com/tildeio/rsvp.js/#all-已结算和哈希已结算

我可以选择实现一个类似于Scala的尝试的概念,将这些可观察对象发出的值包装成尝试值,并使用http://reactivex.io/documentation/operators/catch.html来处理错误并将它们转换为错误值...但这将是手动工作,因此我想知道是否有一些预制的运算符,我错过了或在阅读留档时没有正确理解

编辑:它不需要是一个单一的结果,我会选择observable,它也会发出Try构造中封装的所有值:)

共有1个答案

薛栋
2023-03-14

<代码>。materialize()可能就是您想要的。它转换为可观察的

 类似资料:
  • JSoup似乎可以处理我尝试过的所有URL,但这一个给了我400个错误。 我得到的错误是:

  • 本文向大家介绍Go 打破并继续,包括了Go 打破并继续的使用技巧和注意事项,需要的朋友参考一下 示例 像许多其他语言一样,Go也支持打破循环并继续进行下一个迭代: 该break和continue语句还接受一个可选的标签,用于标识外环路与声明的目标:            

  • 我使用JSOUB清理所有网页,如下所示: 但我的问题是,代码一开始运行良好。 过一会儿,它会停止,总是给我“HTTP错误获取URL。状态=503错误”。 当我添加时。ignoreHttpErrors(true)它可以正常工作,但不会刮伤web。 *搜索词是我想要搜索的任何关键字,num是我需要检索的页数。 有人能帮忙吗?这是否意味着谷歌阻止了我的IP刮取?如果是的话,请问有什么解决方案或者我如何替

  • 我试图读取一个CSV文件,然后根据该CSV文件创建一个新的对象。我可以用SuperCSV库成功地做到这一点,但是如果发生错误(例如特定的单元格为null),它会抛出一个错误(如预期的那样)。我试图在ArrayList中收集所有错误,但现在第一个异常时一切都会停止。如何使SuperCSV CsvBeanReader继续到下一行,即使处理器出现错误?我在try/catch块中有循环条件。代码如下:

  • 我正试图用从axios get返回的数据设置状态。但我一直收到以下错误类型错误:无法读取undefined的属性“setState”。 类页扩展反应。组件{ }

  • 问题内容: 我知道上面的脚本不起作用。因此,如果需要将带有break的函数或继续放入循环,该如何写? 问题答案: 一个函数不能导致中断或继续调用它的代码。中断/继续实际上必须出现在循环内。您的选择是: 从funcA返回一个值并使用它来决定是否中断 在funcA中引发异常并将其捕获在调用代码中(或调用链中更高的位置) 写一个生成器来封装中断逻辑,然后在生成器上进行迭代 通过#3我的意思是这样的: 这