RxJS - 转换运算符 bufferWhen



此运算符将以数组形式给出值,它接受一个参数作为函数,该函数将决定何时关闭、发出和重置缓冲区。

语法

bufferWhen(closing_func: Observable): Observable

参数

closing_func − 返回指示缓冲区关闭的可观察对象的函数。

返回值

将返回一个可观察对象,其中包含缓冲值的数组。

示例

以下是 bufferWhen 的工作示例 −

import { fromEvent, interval} from 'rxjs';
import { bufferWhen } from 'rxjs/operators';

let btn = document.getElementById("btnclick");
let btn_clicks = fromEvent(btn, 'click');
let buffered_array = btn_clicks.pipe(bufferWhen(() => interval(5000)));
buffered_array.subscribe(arr => console.log(arr));

对于 bufferWhen,我们给出了一个每隔 5 秒执行一次的函数。因此,每隔 5 秒,它将输出记录的所有点击,并重置并重新开始。

输出

bufferWhen Operator
广告