Rxjs-transformation-operator-buffertoggle

提供:Dev Guides
移動先:案内検索

RxJS-変換演算子バッファー

bufferToggleの場合は、openingsとclosedSelectorの2つの引数を取ります。 開始引数は、サブスクライブ可能またはバッファーを開始する約束であり、2番目の引数closeSelectorもサブスクライブ可能またはバッファーを閉じて収集された値を出力するインジケーターを約束します。

構文

bufferToggle(openings: SubscribableOrPromise, closingSelector: SubscribableOrPromise): Observable

パラメーター

*_openings_* -新しいバッファを開始するための約束または通知。
*_closingSelector_* -観測可能な開口部から値を取得し、Subscribableまたはpromiseを返す関数。

戻り値

バッファリングされた値の配列を持つオブザーバブルが返されます。

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

let btn = document.getElementById("btnclick");
let btn_clicks = fromEvent(btn, 'click');
let start = interval(2000);
let buffered_array = btn_clicks.pipe(
   bufferToggle(start, a => a%2 ==0 ? interval(1000): EMPTY)
);
buffered_array.subscribe(arr => console.log(arr));

上記の例では、受信した値がそれ以外の場合でもバッファは2秒後に開始し、1秒間隔で終了し、バッファ値を空にして空の値を出力します。

出力

bufferToggle演算子