Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 财产';合并地图';不存在于类型';可观察<;任何>';_Javascript_Angular_Typescript_Rxjs - Fatal编程技术网

Javascript 财产';合并地图';不存在于类型';可观察<;任何>';

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

我正在爱奥尼亚4应用程序中创建一个HttpInterceptor。我想从中读取不记名授权令牌

我尝试使用mergeMap,但它总是返回一个错误:

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';