如何创建扩展功能以使 rx 订阅 flowable cleaner?
How to create a extension function to make rx subscription to flowable cleaner?
我正在使用 room 和 RxAndroid 开发 android 应用程序。问题是我正在使用下一个代码来刷新回收站视图中的信息。
observable.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe{adapter.data = it}
如果我在我的 activity 中实现它,它就像一个魅力。但是我想创建一个扩展函数,以便在使用数据库中的可流动对象时使代码更清晰。我创建了这个函数
fun <T> Flowable<T>.uiSubscribe(x : (T) -> Unit) {
this.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe{x}
但是当我尝试使用它时,它什么也没做。它不会抛出错误或任何东西。有人知道存档的方法吗?或者有人知道为什么它不起作用吗?
您应该使用 subscribe { x(it) }
或 subscribe(x)
。
在你的例子中,subscribe{x}
创建了一个 onNext
消费者,它除了在表达式中声明 x
之外什么都不做。
我正在使用 room 和 RxAndroid 开发 android 应用程序。问题是我正在使用下一个代码来刷新回收站视图中的信息。
observable.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe{adapter.data = it}
如果我在我的 activity 中实现它,它就像一个魅力。但是我想创建一个扩展函数,以便在使用数据库中的可流动对象时使代码更清晰。我创建了这个函数
fun <T> Flowable<T>.uiSubscribe(x : (T) -> Unit) {
this.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe{x}
但是当我尝试使用它时,它什么也没做。它不会抛出错误或任何东西。有人知道存档的方法吗?或者有人知道为什么它不起作用吗?
您应该使用 subscribe { x(it) }
或 subscribe(x)
。
在你的例子中,subscribe{x}
创建了一个 onNext
消费者,它除了在表达式中声明 x
之外什么都不做。