Rxjs-transformation-operator-buffercount
提供:Dev Guides
RxJS-変換演算子bufferCount
buffercount演算子の場合、それは呼び出されたオブザーバブルから値を収集し、buffercountに指定されたバッファーサイズが一致すると同じ値を出力します。 2つの引数 buffersize を取り、2番目の引数は startBufferEvery です。 指定されている場合はstartBufferEveryから、またはソースオブザーバブルの最初から新しい値をカウントします。
構文
bufferCount(bufferSize: number, startBufferEvery: number = null): Observable
パラメーター
*_bufferSize_* -送信されるバッファのサイズ。
戻り値
バッファリングされた値の配列を持つオブザーバブルが返されます。
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を指定していないため、値は最初からカウントされます。
出力
例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クリックイベントのバッファカウントが表示されます。