从 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(...)