RxJS defaultIfEmpty

2020-10-14 10:02 更新

如果源 Observable 完成而不發(fā)出任何值,則發(fā)出給定值 next值,否則鏡像源 Observable。

defaultIfEmpty<T, R>(defaultValue: R = null): OperatorFunction<T, T | R>

參量

默認(rèn)值 可選的。 默認(rèn)值為 null。 如果來源,則使用默認(rèn)值 可觀察為空。

returns

OperatorFunction<T, T | R>:發(fā)出一個指定的 Observable defaultValue如果源 Observable 不發(fā)出任何項目,或者發(fā)出的值 來源可觀察。

描述

如果源 Observable 的結(jié)果為空,則 該運算符將發(fā)出默認(rèn)值。

defaultIfEmpty marble diagram

defaultIfEmpty發(fā)出源 Observable 或 a 發(fā)出的值 如果源 Observable 為空,則指定指定的默認(rèn)值(不包含 發(fā)出任何 next值)。

如果5秒鐘內(nèi)沒有點擊,請發(fā)出“無點擊”

import { fromEvent } from 'rxjs';
import { defaultIfEmpty, takeUntil } from 'rxjs/operators';


const clicks = fromEvent(document, 'click');
const clicksBeforeFive = clicks.pipe(takeUntil(interval(5000)));
const result = clicksBeforeFive.pipe(defaultIfEmpty('no clicks'));
result.subscribe(x => console.log(x));

也可以看看

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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號