angular - 类型 'json' 上不存在属性 '{}'

标签 angular typescript rxjs

我在 Typescript 中有一个抽象基类,如下所示:

import {Http, Headers, Response} from 'angular2/http'; 
export abstract class SomeService {
    constructor(private http:Http) {}   

    protected post(path:string, data:Object) {
        let stringifiedData = JSON.stringify(data);
        let headers = new Headers();
        headers.append('Content-Type', 'application/json');
        headers.append('Accept', 'application/json');

        this.http.post(`http://api.example.com/${path}`, stringifiedData, { headers })
            .map(res => res.json())
            .subscribe(obj => console.log(obj));
    }
}

它工作得很好。然而,Typescript 编译器提示 .map(res => res.json())。我不断收到此错误:

ERROR in ./src/app/components/shared/something/some.abstract.service.ts
(13,29): error TS2339: Property 'json' does not exist on type '{}'.

我遵循了 the angular 2 documentation 中的示例,并且有效。我只是厌倦了盯着这个错误。我错过了什么吗?

最佳答案

对我来说这看起来很奇怪......

.map(res => (<Response>res).json())

我愿意

.map((res: Response) => res.json())

关于angular - 类型 'json' 上不存在属性 '{}',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33919710/

相关文章:

javascript - 使用 Karma 和 Jasmine 测试订阅中的 IF

html - 创建组件模板以多次使用它 - Angular

database - AngularFire2 如何创建用户(名字、姓氏、电子邮件、密码)

javascript - 如何在 TypeScript 中使用类类型作为映射键?

ios - Angular 2 数字键盘启动

typescript - 如何测试 Mocha & Chai + TypeScript + SystemJS + JSPM + Angular + Three.js

Angular 2发送http请求之前的延迟

javascript - RxJS:连接三个 promise ,区分结果

reactive-extensions-js - 将 RxJS Observable 收集到数组

javascript - 如何修复 TypeScript 0.9 中的 TS2081 && TS2087 错误