从 RxJava2 中的列表中一次取出 n 个元素
Take n elements at a time from a list in RxJava2
我有一个元素列表,我想一次处理该列表中的 n 个元素。我怎样才能以 RX 方式做到这一点?
我查看了 take
运算符,但它只需要前 n 个或最后 n 个元素。我需要一次处理列表中的所有元素,但 n 个。
理想情况下,我应该从一个更大的列表中获取多个大小为 n 的列表。
您可以使用 window()
(或其重载变体之一):
observable.window(batchSize).subscribe(...)
或者,如果您不想等待 window 到 'fill',那么也许 buffer()
(或其重载变体之一):
observable.buffer(batchSize).subscribe(...)
我有一个元素列表,我想一次处理该列表中的 n 个元素。我怎样才能以 RX 方式做到这一点?
我查看了 take
运算符,但它只需要前 n 个或最后 n 个元素。我需要一次处理列表中的所有元素,但 n 个。
理想情况下,我应该从一个更大的列表中获取多个大小为 n 的列表。
您可以使用 window()
(或其重载变体之一):
observable.window(batchSize).subscribe(...)
或者,如果您不想等待 window 到 'fill',那么也许 buffer()
(或其重载变体之一):
observable.buffer(batchSize).subscribe(...)