W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
緩沖源可觀察值,從 openings
并在 輸出時(shí)結(jié)束 closingSelector
發(fā)出 。
bufferToggle<T, O>(openings: SubscribableOrPromise<O>, closingSelector: (value: O) => SubscribableOrPromise<any>): OperatorFunction<T, T[]>
開口 | 可訂閱的或無條件的通知以開始新的 緩沖區(qū)。 |
---|---|
關(guān)閉選擇器 | 一個(gè)需要的功能 發(fā)出的值, openings 可觀察對象 并返回可訂閱或承諾, 當(dāng)它發(fā)出時(shí),發(fā)出信號(hào)表明應(yīng)該發(fā)出關(guān)聯(lián)的緩沖區(qū) 并清除。 |
OperatorFunction<T, T[]>
:可觀察到的緩沖值數(shù)組。
收集過去的值作為數(shù)組。 開始 僅在 時(shí)收集 opening
發(fā)射 ,并調(diào)用 closingSelector
函數(shù)獲得一個(gè) Observable,該變量指示何時(shí)關(guān)閉緩沖區(qū)。
通過來自的信號(hào)打開緩沖區(qū)來緩沖來自源的值 提供給的 Observable openings
,并在以下情況關(guān)閉并發(fā)送緩沖區(qū) 該 返回的 Subscribable 或 Promise closingSelector
函數(shù) 發(fā)出。
每隔一秒鐘,從接下來的 500ms 發(fā)出點(diǎn)擊事件
import { fromEvent, interval, EMPTY } from 'rxjs';
import { bufferToggle } from 'rxjs/operators';
const clicks = fromEvent(document, 'click');
const openings = interval(1000);
const buffered = clicks.pipe(bufferToggle(openings, i =>
i % 2 ? interval(500) : EMPTY
));
buffered.subscribe(x => console.log(x));
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: