Angular 2 http结果的正确错误处理

时间:2016-04-11 02:34:25

标签: http angular rxjs

我一直在使用angular.io文档中使用的http错误处理策略:

getHeroes () {
    return this.http.get(this._heroesUrl)
                    .map(res => <Hero[]> res.json().data)
                    .catch(this.handleError);
    }
    private handleError (error: Response) {
        console.error(error);
        return Observable.throw(error.json().error || 'Server error');
    }
}

在某些情况下,我将收到204状态代码(无数据),而不是JSON响应。在这种情况下,在未通过res.json()解析结果之前不会调用错误处理程序,因此传递给handleError的错误是“error.json不是函数”。 / p>

如何查询响应流以检查200(OK)状态代码或响应标头内容类型“application / json”,并通过更相关的错误消息发出错误处理程序信号?

0 个答案:

没有答案