RxJS switchMapTo

2020-10-14 10:37 更新

將每個(gè)源值投影到相同的 Observable,并將其switchMap在輸出 Observable 中進(jìn)行多次展平。

switchMapTo<T, I, R>(innerObservable: any, resultSelector?: (outerValue: T, innerValue: I, outerIndex: number, innerIndex: number) => R): OperatorFunction<T, I | R>

參量

內(nèi)部可觀察 一個(gè) Observable 替換源 Observable 中的每個(gè)值。
resultSelector 可選的。默認(rèn)值為undefined。類型:(outerValue: T, innerValue: I, outerIndex: number, innerIndex: number) => R。

returns

OperatorFunction<T, I | R>:一個(gè) Observable,它每次在源 Observable 上發(fā)射值時(shí),都從給定的項(xiàng)目中發(fā)出項(xiàng)目 innerObservable(并可選地通過不推薦使用進(jìn)行轉(zhuǎn)換resultSelector),并且僅從最近投影的內(nèi)部 Observable 中獲取值。

描述

就像switchMap,但是始終將每個(gè)值映射到相同的內(nèi)部Observable。

switchMapTo大理石圖

將每個(gè)源值映射到給定的 Observable,innerObservable而不管其源值如何,然后將這些結(jié)果 Observable 展平為單個(gè) Observable,這就是輸出 Observable。輸出 Observables 僅從中最近發(fā)出的實(shí)例中發(fā)出值 innerObservable。

在每個(gè)點(diǎn)擊事件上重新運(yùn)行可觀察到的間隔

import { fromEvent, interval } from 'rxjs';
import { switchMapTo } from 'rxjs/operators';


const clicks = fromEvent(document, 'click');
const result = clicks.pipe(switchMapTo(interval(1000)));
result.subscribe(x => console.log(x));

超載

switchMapTo(observable: any): OperatorFunction<any, R>

參量 類型
可觀察的 類型:any

returnsOperatorFunction<any, R> switchMapTo(observable: any, resultSelector: undefined): OperatorFunction<T, R>

參量 類型
可觀察的 類型:any
resultSelector 類型:undefined

returnsOperatorFunction<T, R>

switchMapTo(observable: any, resultSelector: (outerValue: T, innerValue: I, outerIndex: number, innerIndex: number) => R): OperatorFunction<T, R>

參量 類型
可觀察的 類型:any
resultSelector 類型:(outerValue: T, innerValue: I, outerIndex: number, innerIndex: number) => R

returnsOperatorFunction<T, R>

也可以看看

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

掃描二維碼

下載編程獅App

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

編程獅公眾號(hào)