RxJS windowToggle

2020-10-14 10:44 更新

從以下位置將源 Observable 值分支為嵌套的 Observable 從發(fā)射 openings和結(jié)束時的輸出 closingSelector 發(fā)出。

windowToggle<T, O>(openings: Observable<O>, closingSelector: (openValue: O) => Observable<any>): OperatorFunction<T, Observable<T>>

參量

開口 可觀察到的開始新的通知 視窗。
關(guān)閉選擇器 一個需要的功能  發(fā)出的 openingsObservable 值并返回 Observable,  當它發(fā)出( 時發(fā)出 next或 complete) 信號,表明  關(guān)聯(lián)窗口應完成。

returns

OperatorFunction<T, Observable<T>>:可觀察到的窗戶 是可觀察的。

Description

It's like bufferToggle, but emits a nested Observable instead of an array.

返回一個 Observable,它發(fā)出從源收集到的項目的窗口 可觀察的。 輸出 Observable 發(fā)出包含這些項目的窗口 由源發(fā)出的時間在 openings Observable 發(fā)出一個項目,當 Observable 返回 closingSelector發(fā)射一個物品。

每隔一秒鐘,從接下來的 500ms 發(fā)出點擊事件

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


const clicks = fromEvent(document, 'click');
const openings = interval(1000);
const result = clicks.pipe(
  windowToggle(openings, i => i % 2 ? interval(500) : EMPTY),
  mergeAll()
);
result.subscribe(x => console.log(x));

也可以看看

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號