所以我使用forkJoin创建多个http服务调用,如
let observables = [
this.http.get('/app/books.json').map((res:Response) => res.json()),
this.http.get('/app/movies.json').map((res:Response) => res.json())
];
Observable.forkJoin(observables).subscribe(
data => {
this.books = data[0]
this.movies = data[1]
},
err => console.error(err)
);
效果很好,唯一的问题是如果一个特定的调用失败,我得不到为什么(我只是在err:Response对象上找回OK和状态200)
我确实在控制台中看到了错误,但没有在响应中看到错误。
以任何方式检索它?
TX
肖恩
答案 0 :(得分:2)
我调查了一下这个问题。它与Observable.forkJoin
的用户无关。实际上,您无法获得确切的消息。我的意思是net::ERR_CONNECTION_TIME_OUT
。 XHR没有提供它。
也就是说,你可以看到XHR的status
是0
。这可能暗示发送请求时请求有问题(实际上并未发送)。
error => {
(...)
var err = error.json();
var status = err.currentTarget.status;
(...)
}
看到这个问题: