`window` 在 RxJS 中是什么意思?

What does the `window` mean in RxJS?

我听说过 buffer。似乎 window 类似于缓冲区。 它们之间有什么区别?以及为什么它被称为 'window'??

Buffer 是 Window 的特化。

Window 会立即通知您新的 windows,以及用于观察 window.

中的值的可观察对象

相比之下,Buffer 不会立即通知您新的 windows。相反,它在内部收集 window 中的项目。当 window 完成时,Buffer 将发送一个通知,其中包含一个包含 window.

中所有项目的数组

从概念上讲,您可以使用 window 编写 buffer,如下所示:

Rx.Observable.prototype.buffer = function () {
    return this.window
        .apply(this, arguments)
        .flatMap(function (w) { return w.toArray(); });
};

至于为什么叫它"window"...除非 Rx 作者来回答,否则任何答案都将纯粹是推测性的。 Window 是许多学科中常用来表示时间间隔的术语,包括软件开发和信号处理。