RxJS:转换运算符bufferCount

对于buffercount运算符,它将从调用它的可观察对象收集值,并在给buffercount的缓冲区大小匹配时发出相同的值。它使用2个参数buffersize,第二个参数是startBufferEvery,即如果给定的话,它将从startBufferEvery计数新值,否则将从源的开始处计数。

语法

bufferCount(bufferSize: number, startBufferEvery: number = null): Observable

参量

bufferSize-要发出的缓冲区的大小。

返回值

将返回一个observable,它将具有一个缓冲值数组。

我们将看到一个bufferCount()的工作示例

例子1

import { fromEvent } from 'rxjs';
import { bufferCount } from 'rxjs/operators';

let btn = document.getElementById("btnclick");

let btn_clicks = fromEvent(btn, 'click');
let buffered_array = btn_clicks.pipe(bufferCount(4));
buffered_array.subscribe(arr => console.log(arr));

在上面的示例中,bufferSize为4。因此,在计数4次单击之后,将单击事件数组收集到一个数组中并显示出来。由于我们没有给startBufferEvery赋值,因此将从一开始就计算值。

输出量

RxJS:转换运算符bufferCount

例子2

import { fromEvent } from 'rxjs';
import { bufferCount } from 'rxjs/operators';

let btn = document.getElementById("btnclick");
let btn_clicks = fromEvent(btn, 'click');
let buffered_array = btn_clicks.pipe(bufferCount(4, 2));
buffered_array.subscribe(arr => console.log(arr));

在此示例中,我们添加了startBufferEvery,因此每2次单击后,它将显示4个单击事件的缓冲区计数。

输出

RxJS:转换运算符bufferCount

作者:terry,如若转载,请注明出处:https://www.web176.com/rxjs/1826.html

(0)
打赏 支付宝 支付宝 微信 微信
terryterry
上一篇 2021年2月8日 下午3:19
下一篇 2021年2月8日 下午3:22

相关推荐

发表回复

登录后才能评论