RxJS dematerialize

2020-10-14 10:04 更新

將可觀察 Notification對(duì)象轉(zhuǎn)換為發(fā)射 他們代表。

dematerialize<T>(): OperatorFunction<Notification<T>, T>

參量

沒有參數(shù)。

returns

OperatorFunction<Notification<T>, T>:發(fā)出項(xiàng)目和通知的 Observable 嵌入在源 Observable 發(fā)出的 Notification 對(duì)象中。

描述

展開 Notification實(shí)際 對(duì)象 next, errorcomplete排放。 與之相反 materialize。

dematerialize marble diagram

dematerialize假定運(yùn)行僅發(fā)出的 Observable Notification)對(duì)象作為 next排放物,并且不排放任何 error。 這樣的 Observable 是 的輸出 materialize操作 。 那些 然后使用通知所包含的元數(shù)據(jù)來(lái)解包通知,并發(fā)出通知 作為 next, errorcomplete在輸出 Observable 上顯示。

將此運(yùn)算符與結(jié)合使用 materialize。

將可觀察的通知轉(zhuǎn)換為實(shí)際的可觀察

import { of, Notification } from 'rxjs';
import { dematerialize } from 'rxjs/operators';


const notifA = new Notification('N', 'A');
const notifB = new Notification('N', 'B');
const notifE = new Notification('E', undefined,
  new TypeError('x.toUpperCase is not a function')
);
const materialized = of(notifA, notifB, notifE);
const upperCase = materialized.pipe(dematerialize());
upperCase.subscribe(x => console.log(x), e => console.error(e));


// Results in:
// A
// B
// TypeError: x.toUpperCase is not a function

也可以看看

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

掃描二維碼

下載編程獅App

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

編程獅公眾號(hào)