Kev*_*eal 3 javascript observable rxjs
现在mergeMap已弃用,并且源中包含此注释:
/* @deprecated resultSelector no longer supported, use inner map instead */
Run Code Online (Sandbox Code Playgroud)
我如何使用"内部地图"代替?我想这意味着使用map内部的运算符函数.pipe,但是observable并不像它一样扁平化mergeMap.
obs1$.pipe(map(() => obs2$)).subscribe(r => console.log(r === obs2$))
// > true
Run Code Online (Sandbox Code Playgroud)
那么,mergeMap没有它的相当于怎么办?
你仍然使用mergeMap,它只是不推荐使用的resultSelector函数.
这个不被弃用:
export function mergeMap<T, R>(project: (value: T, index: number) => ObservableInput<R>, concurrent?: number): OperatorFunction<T, R>;
Run Code Online (Sandbox Code Playgroud)
但是,这些是:
/** @deprecated resultSelector no longer supported, use inner map instead */
export function mergeMap<T, R>(project: (value: T, index: number) => ObservableInput<R>, resultSelector: undefined, concurrent?: number): OperatorFunction<T, R>;
/** @deprecated resultSelector no longer supported, use inner map instead */
export function mergeMap<T, I, R>(project: (value: T, index: number) => ObservableInput<I>, resultSelector: (outerValue: T, innerValue: I, outerIndex: number, innerIndex: number) => R, concurrent?: number): OperatorFunction<T, R>;
Run Code Online (Sandbox Code Playgroud)