Angular 4应用中的以下方法引发错误:
getAll() {
console.log('Inside getAll!');
return this.http.get('http://ip.addr:4000/some.pdf')
.map((response: Response) => response.blob())
.catch((err:Response) => {
console.log('Error block!');
let details = err.json();
return Observable.throw(details);
});
}
Firefox控制台打印"Error Block"
,表示http.get()
已抛出错误,该错误已被困在catch()
块中。但是,有关错误的信息未公开以用于调试。
控制台中的错误是ERROR TypeError: err is undefined
需要对上述代码进行哪些具体更改,以便可以在控制台中打印有关错误的更多相关信息?
答案 0 :(得分:0)
精化时间。
我建议你把它分成两部分 首先,让我们在服务中发出http请求和结果 Observable 。
getAll() {
return this.http.get('http://ip.addr:4000/some.pdf', { responseType: ResponseContentType.Blob })
.map((res: Response) => res.blob());
};
让我们使用我们在虚构组件中的getAll
方法中创建的 Observable 。
constructor(
private exampleService: ExampleService
){};
ngOnInit(){
this.getThePDF();
};
getThePDF(){
this.exampleService.getAll().subscribe(
res => console.log('All is cool, here you go', res),
err => console.error('All is not so cool :(', err)
);
};
这显然不是您需要的所有数据我只是指出了重要的部分(不包括导入等)。这是我处理http请求的方式,它也适用于你。