我有 Observable 流,我想将其转换为 Completable,我该怎么做?
问问题
16089 次
5 回答
95
流畅的方式是使用Observable.ignoreElements()
.
Observable.just(1, 2, 3)
.ignoreElements()
toObservable
如果需要,将其转换回来。
于 2016-11-03T21:04:59.003 回答
17
您可以执行以下操作。
Observable<Integer> observable = Observable.just(1, 2, 3);
Completable completable = Completable.fromObservable(observable);
就像在 Observable 上一样,您必须订阅 才能启动包装completable
的异步过程。Observable
可以在该方法的 Java 文档中找到更多详细信息。
于 2016-11-03T14:27:28.540 回答
3
据我了解,所有这些解决方案仅在 Observable call 时才有效,如果您希望结果在 first or之后触发onComplete
,这还不够,所以对于这种情况,我建议这样做:Completable
onNext
onError
Observable<Integer> observable = Observable.just(1, 2, 3);
Completable completable = observable.firstOrError().ignoreElement()
于 2019-05-27T13:10:08.507 回答
0
使用 Completable.merge(YourObservable()...
于 2016-11-03T13:12:13.867 回答
0
您可以使用Completable.fromObservable(xx)。这在我的项目中运行良好。
于 2018-12-11T07:49:21.723 回答