当使用带有forkJoin的rxjs进行http调用时,没有关于失败的调用响应/错误类型的信息

时间:2016-04-07 18:03:45

标签: angular rxjs

所以我使用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

肖恩

enter image description here

1 个答案:

答案 0 :(得分:2)

我调查了一下这个问题。它与Observable.forkJoin的用户无关。实际上,您无法获得确切的消息。我的意思是net::ERR_CONNECTION_TIME_OUT。 XHR没有提供它。

也就是说,你可以看到XHR的status0。这可能暗示发送请求时请求有问题(实际上并未发送)。

error => {
  (...)
  var err = error.json();
  var status = err.currentTarget.status;
  (...)
}

看到这个问题: