缓冲区的计数行为在可观察的间隔上与在可观察的范围上不同。为什么?

2024-06-09 22:40:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试RxPy,但我不了解buffer_with_count运算符的这种行为:

场景1:可观测的间隔

这个和我预期的一样。你知道吗

无缓冲区

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

带缓冲区(计数=3)

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

场景2:可观测范围

这个不会产生预期的缓冲输出

无缓冲区

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

带缓冲区(计数=3)

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

在第二种情况下发生了什么?你知道吗

非常感谢!你知道吗


Tags: objectbuffercountwith场景subscriberxat
1条回答
网友
1楼 · 发布于 2024-06-09 22:40:19

可能是一个已经被修复的bug,因为我刚刚尝试了你的第二个场景,它似乎正常工作。。你知道吗

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

相关问题 更多 >