我通过服务公开此功能:
scala> (array.zipWithIndex ++ array.zipWithIndex).foreach{
| case (x, i) => println(s"$i: $x")
| }
0: a
1: b
2: c
0: a
1: b
2: c
scala> (array ++ array).zipWithIndex.foreach{
| case (x, i) => println(s"$i: $x")
| }
0: a
1: b
2: c
3: a
4: b
5: c
如果通话成功,一切都很好 - 我收回了按预期结算的承诺。
如果我传入生成404的网址,我会:
TypeError:无法读取属性'数据'未定义的
就行:function getData(url) {
return $http.get(url).then(function (response) {
return response.data;
});
}
我可以在Chrome的开发者工具中看到return response.data;
返回404。
为什么Angular(v1.4.7,也尝试使用v1.5.0 )调用带有GET
的successCallback会出错?
(我想做的是处理调用代码中的失败。)
编辑: @jcaron指出了我正确的方向。问题似乎是此配置行(由其他开发人员编写):
undefined
拦截器必须有设计缺陷:
$httpProvider.interceptors.push('ErrorInterceptor');
答案 0 :(得分:6)
确实有。如果拒绝不是500状态,则返回拦截器必须有设计缺陷
undefined
,这符合承诺。它应该是
…
responseError: function (err) {
if (err.status === 500) {
$window.location.href = '/error';
}
return $q.reject(err); // always pass on rejection
}