这是代码:
如果在distinct()运算符之前注入do(),则一切正常
很好,但由于某些原因,distinct()只打印第一个对象
_
fluentd
答案 0 :(得分:3)
根据reactivex.io提供的功能描述,我的理解是.distinct()
运算符实际上应该以你编码的方式工作(这是不是一个bug,我不确定)。
但是,看到你的代码不起作用(因为我也测试了它),另一种选择是在调用.pluck()
之前使用.distinct()
来提取值。在我的测试中,这将按预期工作(不提供.distinct()
调用的任何参数。)
基于您的代码的示例:
.do(logToConsole) // DEBUG: all objects are logged to the console
.pluck("code")
.distinct() // now works as expected
.subscribe(logToConsole);`