RxJS switchMapTo
将每个源值投影到相同的 Observable,并将其switchMap
在输出 Observable 中进行多次展平。
switchMapTo<T, I, R>(innerObservable: any, resultSelector?: (outerValue: T, innerValue: I, outerIndex: number, innerIndex: number) => R): OperatorFunction
<T, I | R>
参量
内部可观察 | 一个 Observable 替换源 Observable 中的每个值。 |
---|---|
resultSelector | 可选的。默认值为undefined 。类型:(outerValue: T, innerValue: I, outerIndex: number, innerIndex: number) => R 。 |
returns
OperatorFunction<T, I | R>
:一个 Observable,它每次在源 Observable 上发射值时,都从给定的项目中发出项目 innerObservable
(并可选地通过不推荐使用进行转换resultSelector
),并且仅从最近投影的内部 Observable 中获取值。
描述
就像switchMap
,但是始终将每个值映射到相同的内部Observable。
将每个源值映射到给定的 Observable,innerObservable
而不管其源值如何,然后将这些结果 Observable 展平为单个 Observable,这就是输出 Observable。输出 Observables 仅从中最近发出的实例中发出值 innerObservable
。
例
在每个点击事件上重新运行可观察到的间隔
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>