问题标签 [rx-kotlin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
209 浏览

rx-java - 在 Rx 上重复向订阅者发送对象

是否可以重复向 Rx 中的订阅者发送相同的对象?例如此代码(在 Kotlin 上):

我尝试将字符串值“A”重复发送到方法 onNext() 并获取“A111111”。据我所知,Rx 库的方法 replay() 再次开始为新订阅者发送日期。从可观察到的循环for日期没有变化,只是方法被调用了几次

0 投票
4 回答
9145 浏览

kotlin - RxJava 2 在单元测试中覆盖 IO 调度程序

我正在尝试测试以下 RxKotlin/RxJava 2 代码:

我正在尝试按如下方式覆盖调度程序:

但是,运行测试时出现以下错误:

有没有人遇到过这个问题?


使用 RxKotlin/RxJava 1 和以下调度程序覆盖时,测试工作正常:

0 投票
4 回答
5206 浏览

android - 无法使用 RxKotlin 'observeOn' 主线程

我正在尝试使用以下方法在主线程上观察 observable:

但我收到以下错误:

我订阅的 Observable 来自一个用 Java 编写的库,因此使用了 RxJava。

我是不是很愚蠢,错过了什么?我很困惑:$

提前致谢 :)

0 投票
0 回答
1904 浏览

intellij-idea - 异常引起:java.lang.ClassNotFoundException: org.reactivestreams.Publisher

在我在 IntelliJ IDEA 2017.1.2(Build #IC-171.4249.39)中使用 RxJava 和 Kotlin 开发的基于 JavaFX Gradle 的应用程序中,我遇到了一个异常:

线程“JavaFX 应用程序线程”中的异常 java.lang.NoClassDefFoundError: org/reactivestreams/Publisher

每次这样的代码

被执行。根据类似问题的建议Why I am getting NoClassDefFoundError: org/reactivestreams/Publisher,我尝试将包含反应流添加到dependencies我的build.gradle脚本块中

但问题仍然存在。依赖关系树看起来像这样:

如您所见,每个环境中都存在org.reactivestreams:reactive-streams 。

现在,我已经设法通过手动添加对reactive-streams-1.0.0.jar 的依赖来解决问题,但我根本不喜欢这个解决方案。

有人可以建议更好的解决方案吗?谢谢!

0 投票
1 回答
909 浏览

unit-testing - Rx-Kotlin awaitTerminalEvent 永远不会完成

我试图更好地了解如何使用 Rx-Kotlin 进行单元测试,但我无法成功地将主题设置为“已完成”。结果,我总是在等待 5 秒的超时(onComplete 应该是立即的),然后在 assertComplete 上失败。

我对awaitTerminalEvent的理解是,它应该只在调用 onComplete 之前阻塞。我也研究了TestScheduler,但我不认为这里应该需要它。

任何可以引导我走向正确方向的帮助或文档将不胜感激。

0 投票
2 回答
6723 浏览

android - Rx Kotlin:映射函数无法推断返回类型

在连接到蓝牙设备的应用程序中,我使用 RxKotlin 使用以下功能:

这个函数应该简单地在后台连接蓝牙设备,然后对套接字做一些事情(再次在主线程中)。但是,map无法处理该return socket部分,告诉我有一个Type mismatch,它BluetoothSocket在需要的地方找到了一个Unit

这里出了什么问题?我认为地图应该能够推断出返回类型。

0 投票
1 回答
1414 浏览

java - 获取 RxJava2 中 observable 发出的最后 N 个对象

我有一个 Observables,它发出一些数字,我只想获取最后 N 个元素。

我有以下代码(我使用的是 RxKotlin,它只是 RxJava 的一个包装器):

不幸的是,结果是[10],当我仔细观察缓冲区运算符返回的内容时,我看到了:

有没有办法获得最后一个“完整”缓冲区-> [8, 9, 10]

0 投票
1 回答
1368 浏览

java - 如何动态更新 RX Observable?

(在 RxKotlin 和 RxJava 中工作,但为了简单起见使用元代码)

许多指南首先从已经可用的数据Reactive Extensions创建一个。ObservableThe Introduction to Reactive Programming you've been missing,它是从单个字符串创建的

同样,来自RxKotlin的首页,来自填充列表

现在考虑一个简单的过滤器,它产生一个outStream,

在这两个指南中,源事件都被声明为apriori。这意味着事件的时间线有某种形式

我怎样才能修改sourceStream成为更多的管道?换句话说,在sourceStream创建过程中没有可用的输入数据?当源事件可用时,它会立即由​​ out 处理:

我希望找到一个Observable.add()动态更新

这可能吗?

0 投票
1 回答
2990 浏览

java - 注入构造函数和伴随对象

我是 Kotlin 的新手,我正在尝试注入一个值(在这个例子中它只是一个 Int 但在实际代码中它是一个 Provider 类)我在这里做错了什么?为什么 x 是一个未解决的参考?

0 投票
1 回答
97 浏览

android - 对于用作表达式的 Kotlin 函数,是否有简洁的方法来操作和返回值?

在 Kotlin 中,函数的最终语句可以解释为它的返回值。

像以下示例这样的情况可以简化为不那么冗长吗?

下面是使用 RxJava 的示例中的一个具体案例——即使有更好的 Rx 方法,我也对纯 Kotlin 解决方案(如果存在)感兴趣。