buffer_with_count行为在可观察的间隔上与在可观察的范围上的行为不同。为什么?

时间:2016-10-31 13:31:35

标签: python reactivex rx-py

我正在尝试RxPy,我不理解SELECT t.VBID,MAX(t.KBID),MAX(t.SEQ) FROM tbl_a t JOIN tbl_b s ON(t.vbid = s.vbid) GROUP BY t.vbid 运算符的这种行为:

场景1:可观察的间隔

这个按预期工作。

无缓冲区

buffer_with_count

使用Buffer(count = 3)

>>> Observable.interval(500).take(6).subscribe(print)
<rx.disposables.anonymousdisposable.AnonymousDisposable object at 0x104733d68>
>>> 0
1
2
3
4
5

场景2:范围可观察

这个没有产生预期的缓冲输出

无缓冲区

>>> Observable.interval(500).take(6).buffer_with_count(3).subscribe(print)
<rx.disposables.anonymousdisposable.AnonymousDisposable object at 0x104789a20>
>>> [0, 1, 2]
[3, 4, 5]

使用Buffer(count = 3)

>>> Observable.range(0, 6).subscribe(print)
0
1
2
3
4
5
<rx.disposables.anonymousdisposable.AnonymousDisposable object at 0x1046ea160>

第二种情况发生了什么?

非常感谢!

1 个答案:

答案 0 :(得分:0)

可能是一个已被修复的错误,因为我刚刚尝试了你的第二个场景,它似乎可以正常工作..

>>> Observable.range(0, 6).buffer_with_count(3).subscribe(print)
[0, 1, 2]
[3, 4, 5]