- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在玩 Kotlin/RxJava,并尝试创建一个扩展方法来将 Subscription
添加到 CompositeSubscription
,其工作方式如下:
search.subscribe {
//do stuff
}.addToComposite(compositeSubscription)
这是我目前的尝试:
fun Subscription.addToComposite(composite: CompositeSubscription) = { composite.add(this) }
它编译和运行没有错误,但似乎并没有真正将 Subscription
添加到 CompositeSubscription
。我做错了什么吗?
最佳答案
您的函数定义不正确。比较:
fun f() { println("hello") }
此函数执行单个语句 println("hello")
并且是一个简单的 Unit
-returning function (与 Java 中的 void
相同)。
fun g() = { println("hello") }
这个函数是一个single-expression function ,它只返回表达式 { println("hello") }
的值,即 lambda expression . g
的返回类型是 () -> Unit
,它不执行 lambda 体!
这也是explained here .
=
:
fun Subscription.addToComposite(composite: CompositeSubscription) { composite.add(this) }
关于rx-java - 我可以创建一个 Kotlin 扩展方法来将 rxJava 订阅添加到 CompositeSubscription 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35995630/
我有 CompositeSubscription ,并在那里添加带有 ReplaySubject 的 Subscription CompositeSubscription compositeSubs
我有一个 Android 项目,我在其中使用了 rxjava 和 rxAndroid。我突然开始遇到崩溃 "NoClassDefFoundError: rx.subscriptions.Composi
我想为我的 Presenter 类创建一个测试,但我遇到了 Presenter 本身内部的 CompositeSubscription 实例的问题。运行测试时出现此错误: java.lang.Null
我一直在玩 Kotlin/RxJava,并尝试创建一个扩展方法来将 Subscription 添加到 CompositeSubscription,其工作方式如下: search.subscribe {
我是一名优秀的程序员,十分优秀!