我試圖使用Angular2 http獲取保存在本地系統中的JSON數據。類型observable <{}>不可分配給任何類型:在Typescript中的{}類型中缺少屬性
import { Injectable } from '@angular/core';
import { Http, Response } from '@angular/http';
import { General } from './general';
import { Observable } from 'rxjs/Observable';
@Injectable()
export class GeneralService {
// #docregion endpoint
private statusUrl = './jsondata'; // URL to web API
// #enddocregion endpoint
// #docregion ctor
constructor (private http: Http) {}
// #enddocregion ctor
// #docregion methods, error-handling, http-get
getStatus(): Observable<General[]> {
return this.http.get(this.statusUrl)
.map(this.extractData)
.catch(this.handleError);
}
private extractData(res: Response) {
let body = res.json();
return body.data || { };
}
private handleError (error: Response | any) {
// In a real world app, we might use a remote logging infrastructure
let errMsg: string;
if (error instanceof Response) {
const body = error.json() || '';
const err = body.error || JSON.stringify(body);
errMsg = `${error.status} - ${error.statusText || ''} ${err}`;
} else {
errMsg = error.message ? error.message : error.toString();
}
console.error(errMsg);
return Observable.throw(errMsg);
}
}
我得到無差錯類型觀察到< {}>是不能分配給輸入「Observable'.Type '{}' 不是分配給鍵入 '常規[]'。類型'{}'中缺少屬性長度
這裏一般是類名。我使用rxjs-5.0。我正在關注Angular.io英雄之旅並製作自己的項目。對此有何幫助?
我試過了。仍然是相同的錯誤 – Protagonist