我有一个Completable要执行的RxJava ,然后链接到Single<Long>。我可以这样写:
return Completable.complete().toSingleDefault(0L).flatMap { Single.just(1L) }
但这似乎不必要地复杂。我本以为Completable#toSingle()会做的,但是如果我写:
Completable.complete().toSingle { Single.just(1L) }
我遇到错误。是否缺少功能Completable或我正在忽略某些东西?
您可能要使用andThen运算符,运算符将在Completable完成后订阅您发送给它的源。
return Completable.complete()
    .andThen(Single.just(1L))
正如@akarnokd所说的,这是一个非依赖延续的情况。
如果您的源代码需要在运行时解析,则这将是一个与延迟有关的延续,您需要defer:
return Completable.complete()
    .andThen(Single.defer(() -> Single.just(1L)))
| 归档时间: | 
 | 
| 查看次数: | 1606 次 | 
| 最近记录: |