我无意中发现了这些方法,从我从文档中得到的信息来看,它们所做的几乎是完全一样的事情。看代码,他们显然会做不同的事情。首先,single()返回一个Observable (为什么?)而toSingle()实际上返回一个Single。
我对反应性世界的认识有限,我想知道,为什么这两种方法都存在?他们有什么不同?他们中的任何一个应该使用另一个吗?
它们中的任何一个或两个immediately是否将Observable转换为Single,如果没有发出任何项,则会引发错误?或者他们是在等待事件的发生?
另一件让我感到困惑的是,他们的大理石图是不同的(toSingle和单人),但是他们的医生说他们的行为应该完全一样,特别是他们应该表现得像single()大理石图。
以下是文档:Observable#toSingle Observable#single
发布于 2017-11-30 08:29:13
我相信两者是相同的,都将在上游完成时产生一个项目,如果提供了多个项目(如文档所述),两者都会产生错误,所以使用它们的安全方法是observable.take(1).toSingle(),或者实际上是observable.take(1).single()。
https://stackoverflow.com/questions/47562084
复制相似问题