在 RxJava 中,此过滤运算符实现为 first
、firstOrDefault
和 takeFirst
。
有点令人困惑的是,还有一些名为 first
和 firstOrDefault
的 BlockingObservable
运算符,它们会阻塞并返回项目,而不是立即返回 Observable。
还有其他几个运算符执行类似的功能。
过滤运算符
first
、firstOrDefault
、single
、singleOrDefault
和 takeFirst
默认情况下不会在任何特定的 Scheduler 上操作。
BlockingObservable
方法
BlockingObservable
方法不会将 Observable 转换为另一个经过过滤的 Observable,而是会跳出 Observable 级联,阻塞直到 Observable 发射所需的项目,然后返回该项目本身。
要将 Observable 转换为 BlockingObservable
,以便您可以使用这些方法,您可以使用 Observable.toBlocking
或 BlockingObservable.from
方法。