如何将Single链接到Completable,以便在Completable完成时获得订阅?
repository.downloadUser() 是单身.
基于调试,似乎此方法中的Single被调用但从未订阅(即该downloadUser()方法被调用但是它创建的Single内部没有代码被调用).
问题是,如何repository.downloadUser()使用原始订阅者在链中订阅Single?我错过了什么或做错了什么?或者这不可能吗?
fun login(username: String, password: String): Completable {
return repository.login(username, password)
.andThen {
repository.downloadUser() // This is a Single
.flatMap { downloadedUser ->
user = downloadedUser
it.toSingle()
}
// When I get this part working there are other things I want to
// chain as well.
}
Run Code Online (Sandbox Code Playgroud)
编辑:我可能只是把它分成两个调用,一个用于Completable,然后另一个用于其余的调用.然而,如果有人知道这是否可能仍然是好的...
很确定这是你使用花括号.Kotlin认为你正在调用RxJava方法
public final Completable andThen(CompletableSource next) {
return concatWith(next);
}
Run Code Online (Sandbox Code Playgroud)
意思是返回类型Completable,但你想要它作为一个Single.你需要的是什么
repository.login(username, password)
.andThen(repository.downloadUser())
.flatmap { ... }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
640 次 |
| 最近记录: |