【问题标题】:How to create a extension function to make rx subscription to flowable cleaner?如何创建扩展功能以使 rx 订阅 flowable 清洁器?
【发布时间】:2018-02-08 15:35:11
【问题描述】:

我正在使用 room 和 RxAndroid 开发一个 android 应用程序。问题是我正在使用下一个代码来刷新我的回收站视图中的信息。

observable.subscribeOn(Schedulers.io())
                .observeOn(AndroidSchedulers.mainThread())
                .subscribe{adapter.data = it}

如果我在我的活动中实现它,它就像一个魅力。但是我想创建一个扩展函数,以在使用数据库中的 flowables 时使代码更清晰。我创建了这个函数

fun <T> Flowable<T>.uiSubscribe(x : (T) -> Unit)  {
this.subscribeOn(Schedulers.io())
        .observeOn(AndroidSchedulers.mainThread())
        .subscribe{x}

但是当我尝试使用它时,它什么也没做。它不会引发错误或任何事情。有人知道存档的方法吗?或者有人知道为什么它不起作用?

【问题讨论】:

  • "uiSubscribe" 这个名字很容易误导人。也不要在您的问题中添加答案,将它们作为答案发布

标签: android kotlin rx-java2 rx-android rx-kotlin


【解决方案1】:

您应该使用subscribe { x(it) }subscribe(x)

在您的情况下,subscribe{x} 创建了一个 onNext 消费者,它只在表达式中声明 x

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-23
    • 2023-03-14
    • 2021-12-04
    • 1970-01-01
    相关资源
    最近更新 更多