Buffer 是 Window 的特化。
Window 会立即通知您新窗口,以及一个 observable 来观察将在该窗口中的值。
相比之下,Buffer 不会立即通知您有新窗口。相反,它在内部收集窗口中的项目。当窗口完成时,Buffer 将发送一个通知,其中包含一个包含窗口中所有项目的数组。
从概念上讲,你可以写buffer通过使用window像这样:
Rx.Observable.prototype.buffer = function () {
return this.window
.apply(this, arguments)
.flatMap(function (w) { return w.toArray(); });
};
Run Code Online (Sandbox Code Playgroud)
至于为什么它被称为“窗口”……除非 Rx 作者来回答,否则任何答案都将纯属推测。 窗口是一个术语,通常用于表示许多学科中的时间间隔,包括软件开发和信号处理。
| 归档时间: |
|
| 查看次数: |
966 次 |
| 最近记录: |