TypeError:map不是函数

cbr*_*awl 1 javascript http typescript angular angular6

我正在尝试对API进行POST调用,并在标题中收到错误.我检查了所有其他相关问题,并确保它不是那些问题.我已经导入了rxjs map运算符.事实上,我在我的前端Angular 6应用程序中的数百个其他http调用中使用了完全相同的语法而没有任何问题.

以下是导致问题的代码段:

public createMap(map) {
    map.companyId = this.company.getCompanyId();
    const temp = this.json.clone(map);
    temp.settings = this.json.manageJSON(temp.settings, true);

    return this.authHttp.post(environment.coreApiPath + 'importMaps', temp)
        .pipe(map((res: any) => {
            map.ID = res.ID;
            map.tempName = null;
            this.maps.push(map);
            return map;
        }),
        catchError(error => { throw Error('Custom Error: There was an error when attempting to create this import map.') }));
}
Run Code Online (Sandbox Code Playgroud)

错误在读取的行上 .pipe(map((res: any) => {

知道可能导致这个问题的原因是什么吗?

这是我的进口,以防万一你想知道:

import { HttpClient } from '@angular/common/http';
import { map, catchError } from 'rxjs/operators';
Run Code Online (Sandbox Code Playgroud)

T.J*_*der 6

您的参数map是您导入的阴影map:

import { map, catchError } from 'rxjs/operators';
//       ^^^------------------- import

// ...

public createMap(map) {
//               ^^^----------- parameter
Run Code Online (Sandbox Code Playgroud)

所以在内createMap,你不能使用导入map; 它无法进入.

请考虑重命名参数或重命名导入.