Javascript 财产';合并地图';不存在于类型';可观察<;任何>';
我正在爱奥尼亚4应用程序中创建一个HttpInterceptor。我想从中读取不记名授权令牌 我尝试使用mergeMap,但它总是返回一个错误:Javascript 财产';合并地图';不存在于类型';可观察<;任何>';,javascript,angular,typescript,rxjs,Javascript,Angular,Typescript,Rxjs,我正在爱奥尼亚4应用程序中创建一个HttpInterceptor。我想从中读取不记名授权令牌 我尝试使用mergeMap,但它总是返回一个错误: Property 'mergeMap' does not exist on type 'Observable<any>' 但它不起作用 我应该尝试什么?您使用的是旧RxJS API的语法: import 'rxjs/operators/mergeMap'; myObs$.mergeMap(anotherObs$); 由于RxJS API
Property 'mergeMap' does not exist on type 'Observable<any>'
但它不起作用
我应该尝试什么?您使用的是旧RxJS API的语法:
import 'rxjs/operators/mergeMap';
myObs$.mergeMap(anotherObs$);
由于RxJS API已更改(版本5.5+),mergeMap
不再是Observable
上的方法,而是一个函数,您必须在管道
操作符中使用它,如下所示:
import { mergeMap } from 'rxjs/operators';
myObs$.pipe(mergeMap(anotherObs$));
更新您的导入
import { map, catchError, mergeMap } from 'rxjs/operators';
然后可以在管道中使用合并贴图
const{of}=rxjs;//由于代码段的原因,在导入时使用分解结构
const{mergeMap}=rxjs.operators;
第(4)款。管道(
合并映射(val=>of(val*2))
).订阅(结果=>{
控制台日志(结果);
});代码>
相关您是否尝试从操作符导入mergeMap
?@jcubic是的,除了导入之外不起作用,是的,您将把它放在管道中()
可能值得一提的是从何处导入管道操作符。谢谢您的回答!谢谢你的回答。不过,我会接受另一个。
import { mergeMap } from 'rxjs/operators';
myObs$.pipe(mergeMap(anotherObs$));
import { map, catchError, mergeMap } from 'rxjs/operators';