W3Cschool
恭喜您成為首批注冊(cè)用戶(hù)
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
使用來(lái)將源 Observable 值分支為嵌套 Observable 關(guān)閉 Observables 的工廠功能,以確定何時(shí)啟動(dòng)新的 窗口。
windowWhen<T>(closingSelector: () => Observable
<any>): OperatorFunction
<T, Observable
<T>>
關(guān)閉選擇器 | 一個(gè)不需要 參數(shù)并返回一個(gè)Observable信號(hào)(在 next 或 complete )何時(shí)關(guān)閉上一個(gè)窗口并開(kāi)始一個(gè)新窗口。 |
---|
OperatorFunction<T, Observable<T>>
:可觀察到的窗戶(hù) 是可觀察的。
就像 bufferWhen
,但發(fā)出嵌套 可觀察的而不是數(shù)組。
返回一個(gè) Observable,它發(fā)出從源收集到的項(xiàng)目的窗口 可觀察的。 輸出 Observable 發(fā)出連接的非重疊窗口。 它發(fā)出當(dāng)前窗口,并在可觀察到的任何時(shí)候打開(kāi)一個(gè)新窗口。 由指定 closingSelector
函數(shù)產(chǎn)生的發(fā)射項(xiàng)。 首先 訂閱輸出 Observable 時(shí),窗口將立即打開(kāi)。
在 [1-5] 個(gè)隨機(jī)秒的每個(gè)窗口中僅發(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號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話(huà):173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: