W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
使用來將源 Observable 值分支為嵌套 Observable 關(guān)閉 Observables 的工廠功能,以確定何時啟動新的 窗口。
windowWhen<T>(closingSelector: () => Observable
<any>): OperatorFunction
<T, Observable
<T>>
關(guān)閉選擇器 | 一個不需要 參數(shù)并返回一個Observable信號(在 next 或 complete )何時關(guān)閉上一個窗口并開始一個新窗口。 |
---|
OperatorFunction<T, Observable<T>>
:可觀察到的窗戶 是可觀察的。
就像 bufferWhen
,但發(fā)出嵌套 可觀察的而不是數(shù)組。
返回一個 Observable,它發(fā)出從源收集到的項目的窗口 可觀察的。 輸出 Observable 發(fā)出連接的非重疊窗口。 它發(fā)出當(dāng)前窗口,并在可觀察到的任何時候打開一個新窗口。 由指定 closingSelector
函數(shù)產(chǎn)生的發(fā)射項。 首先 訂閱輸出 Observable 時,窗口將立即打開。
在 [1-5] 個隨機(jī)秒的每個窗口中僅發(fā)出前兩次單擊事件
import { fromEvent, interval } from 'rxjs';
import { windowWhen, map, mergeAll, take } from 'rxjs/operators';
const clicks = fromEvent(document, 'click');
const result = clicks.pipe(
windowWhen(() => interval(1000 + Math.random() * 4000)),
map(win => win.pipe(take(2))), // each window has at most 2 emissions
mergeAll() // flatten the Observable-of-Observables
);
result.subscribe(x => console.log(x));
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: