我目前正在尝试角2与离子2相结合,所以我对打字有点陌生。基本上我是在实现一个restservice,我想把rest类抽象化。
export abstract class RESTService{
mHttp: Http;
mParameters: Parameter[];
mURL: string;
constructor (private http: Http, private parameters: Parameter[]){
this.mHttp = http;
this.mParameters = parameters;
}
// URL of the Rest Service
abstract getURL() : string;
// Convert or handle the Response
handleResponse(rawResponse: Response){
let body = rawResponse.json();
return body.data || { };
}
// Handle an error
abstract handleError(error: any);
// Do the rest call
makeCall(): Observable<any> {
return this.mHttp.get(this.mURL).map(this.handleResponse).catch(this.handleError);
}}
下面是从restservice扩展而来的类:
export class RESTServiceJourney extends RESTService{
constructor(http:Http, parameters:Parameter[]){
super(http, parameters);
}
// URL of the Rest Service
getURL() : string {
return "";
}
// Convert or handle the Response
private handleResponse(rawResponse: Response){
return "";
}
// Handle an error
private handleError(error: any){
return "";
}}
但是我总是在“导出类restservicejourney extends restservice”行中得到一个类型“any”不是构造函数函数类型错误。我搜索了google和stackoverflow,不知道这是什么样的错误。(我在stackoverflow上找到了一个,但那个版本有问题。)
提前谢谢!
最佳答案
导入抽象类时出错。
我写道:从“restservice”导入{restservice};
但必须:从“./restservice”导入{restservice};