RxJava引入了Single<T>。如何将 Observable<T> 转换为 Single<T>?
RxJava introduced Single<T>. How do I convert an Observable<T> to a Single<T>?
RxJava 最近推出 Single。有没有一种方法可以在不修改原始 Observable 源的情况下将已经存在的 Observable(几乎是 Single)转换为 Single?
例如,我有一个 api 服务 class,其方法 return 是一个 Observable - 这实际上是从远程资源中获取用户。说我不能修改服务。我想在别处消费这个,但 return 单身。我该怎么做?
多捏一点背景
RxJava 最近引入了 Single 的概念,它或多或少是一种 Rx 友好的简单回调(即 Observable 发出一个对象或一个错误)(在此处阅读更多信息 - http://reactivex.io/documentation/single.html)
注意:这是针对 RxJava 1 的。请参阅 Rx2 的其他答案 below/above :)
添加了 2 个新的便捷方法来完成这件事。
toSingle()
将发出单个项目的 Observable 转换为发出该项目的 Single
toObservable
将 Single 转换为 Observable,Observable 发出由 Single 发出的项目,然后完成
在rxjava2中你可以使用Single.fromObservable()
.
我认为另一个答案已经过时了。您可能应该检查以下方法。
singleOrError: 发出唯一的元素,如果源长于 1 项则发出 IndexOutOfBoundsException 或如果源为空则发出 NoSuchElementException。
firstOrError: 如果源为空,则发出第一个元素或 NoSuchElementException。
lastOrError: 如果源为空,则发出 lastelement 或 NoSuchElementException。
elementAtOrError: 发出第 index 个元素或 NoSuchElementException。
此页面的更多信息:https://github.com/ReactiveX/RxJava/wiki/What%27s-different-in-2.0
ApolloClient 有一个扩展。
rxQuery
给你 Observable
rxMutate
给你 Single
看看其他人。
RxJava 最近推出 Single。有没有一种方法可以在不修改原始 Observable 源的情况下将已经存在的 Observable(几乎是 Single)转换为 Single?
例如,我有一个 api 服务 class,其方法 return 是一个 Observable - 这实际上是从远程资源中获取用户。说我不能修改服务。我想在别处消费这个,但 return 单身。我该怎么做?
多捏一点背景
RxJava 最近引入了 Single 的概念,它或多或少是一种 Rx 友好的简单回调(即 Observable 发出一个对象或一个错误)(在此处阅读更多信息 - http://reactivex.io/documentation/single.html)
注意:这是针对 RxJava 1 的。请参阅 Rx2 的其他答案 below/above :)
添加了 2 个新的便捷方法来完成这件事。
toSingle()
将发出单个项目的 Observable 转换为发出该项目的 Single
toObservable
将 Single 转换为 Observable,Observable 发出由 Single 发出的项目,然后完成
在rxjava2中你可以使用Single.fromObservable()
.
我认为另一个答案已经过时了。您可能应该检查以下方法。
singleOrError: 发出唯一的元素,如果源长于 1 项则发出 IndexOutOfBoundsException 或如果源为空则发出 NoSuchElementException。
firstOrError: 如果源为空,则发出第一个元素或 NoSuchElementException。
lastOrError: 如果源为空,则发出 lastelement 或 NoSuchElementException。
elementAtOrError: 发出第 index 个元素或 NoSuchElementException。
此页面的更多信息:https://github.com/ReactiveX/RxJava/wiki/What%27s-different-in-2.0
ApolloClient 有一个扩展。
rxQuery
给你 ObservablerxMutate
给你 Single
看看其他人。