RxJS single

2020-10-14 10:34 更新

返回一個(gè) Observable,它發(fā)出與指定謂詞相匹配的源 Observable 發(fā)出的單個(gè)項(xiàng),如果該 Observable 發(fā)出一個(gè)這樣的項(xiàng)。如果源 Observable 發(fā)出多個(gè)此類項(xiàng)目或不發(fā)出任何項(xiàng)目,請(qǐng)分別通知 IllegalArgumentException 或 NoSuchElementException。如果源 Observable 發(fā)出項(xiàng),但沒(méi)有匹配指定謂詞,則將undefined發(fā)出。

single<T>(predicate?: (value: T, index: number, source: Observable<T>) => boolean): MonoTypeOperatorFunction<T>

參量

謂詞 可選的。默認(rèn)值為 undefined。謂詞函數(shù),用于評(píng)估源 Observable 發(fā)出的項(xiàng)目。

returns

MonoTypeOperatorFunction<T>:一個(gè) Observable,它發(fā)出由源 Observable 發(fā)出的與謂詞匹配的單個(gè)項(xiàng),或者undefined在沒(méi)有項(xiàng)匹配時(shí)發(fā)出的單個(gè)項(xiàng)。

投擲

EmptyError``error 如果 Observable 在 next發(fā)送任何通知之前完成,則將 EmptyError 傳遞給 Observer 的回調(diào)。

描述

類似于first,但如果有多個(gè)值,則發(fā)出錯(cuò)誤通知。單個(gè)大理石圖

發(fā)出“錯(cuò)誤”

import { range } from 'rxjs';
import { single } from 'rxjs/operators';


const numbers = range(1,5).pipe(single());
numbers.subscribe(x => console.log('never get called'), e => console.log('error'));
// result
// 'error'

發(fā)出'undefined'

import { range } from 'rxjs';
import { single } from 'rxjs/operators';


const numbers = range(1,5).pipe(single(x => x === 10));
numbers.subscribe(x => console.log(x));
// result
// 'undefined'

也可以看看

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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)