我在Angular 2应用程序中有以下文件:
可注射服务
@Injectable()
export class CompanyService{
constructor(private http:Http){}
public test():any{
return this.http.get('http://echo.jsontest.com/title/ipsum/content/blah')
.map(res => res.json())
.catch((error:any) => Observable.throw(error.json().error || 'Server error'));
}
}
组件
@Component({
templateUrl: 'company.html',
providers: [CompanyService]
})
export class CompanyPage{
constructor(private companyServ:CompanyService){}
//This method is used from a submit for using ngSubmit
public onSubmit():void{
this.companyServ.test().subscribe(data => {
console.log('Data', data);
}, err => {
console.error('Error', err);
}, console.log('End'));
}
}
当渲染视图并调用方法onSubmit
时,我收到以下错误:
非常感谢有关错误的任何信息。
答案 0 :(得分:0)
解决方案是更改返回类test()
的{{1}}方法的数据类型:
可注射服务
CompanyService
<强>组件强>
我删除了3参数,因为public test():Observable<any>{
return this.http.get('http://echo.jsontest.com/title/ipsum/content/blah')
.map(res => res.json())
.catch((error:any) => Observable.throw(error.json().error || 'Server error'));
}
只允许2个参数:成功函数和错误函数
Observable<any>