android – RxJava2如何将Single链接到Completable,以便在Completable完成时获得订阅
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了android – RxJava2如何将Single链接到Completable,以便在Completable完成时获得订阅,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1040字,纯文字阅读大概需要2分钟。
内容图文
![android – RxJava2如何将Single链接到Completable,以便在Completable完成时获得订阅](/upload/InfoBanner/zyjiaocheng/728/9b60bf7ba04544ab9d27785b2282515f.jpg)
如何将Single链接到Completable,以便在Completable完成时获得订阅?
repository.downloadUser()是Single.
基于调试,似乎调用此方法中的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.
}
编辑:我可能只是把它分成两个调用,一个用于Completable,然后另一个用于其余的调用.然而,如果有人知道这是否可能仍然是好的…
解决方法:
很确定这是你使用花括号. Kotlin认为你正在调用RxJava方法
public final Completable andThen(CompletableSource next) {
return concatWith(next);
}
意味着返回类型是Completable,但您希望它作为Single.你需要的是什么
repository.login(username, password)
.andThen(repository.downloadUser())
.flatmap { ... }
内容总结
以上是互联网集市为您收集整理的android – RxJava2如何将Single链接到Completable,以便在Completable完成时获得订阅全部内容,希望文章能够帮你解决android – RxJava2如何将Single链接到Completable,以便在Completable完成时获得订阅所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。