在$ resource error

时间:2017-05-24 16:54:45

标签: javascript angularjs promise angular-promise angular-http

在Angular 1.6.x中,我可能有几个承诺调用,涉及例如对话框显示,使用$resource的HTTP调用以及一些处理:

showDialog()
  .then(foo => {
    return sendDataToServer(foo); //uses $resource
  })
  .then(bar => {
    processData(bar);
  })
  .catch(error) {
    //TODO handle problems here
  });

如果取消对话框(使用Angular Material),error将为undefined。我可以处理。

$resource的{​​{3}}说:

  

失败时,承诺将被documentation对象拒绝....

那我怎么知道error是否是HTTP响应呢?我是否将它与$http的注入单例实例进行比较?我可以使用instanceof吗?

基本上我想做某些事情,如果有HTTP错误,但其他事情,如果有一个处理错误。例如,我可能想记录HTTP数据:

  .catch(error) {
    $log.error("FooBar Error", angular.toJson(error.data));
  });

当然,我可以检查是否有error.data属性,但这似乎有点间接,但仍然没有告诉我错误是否真的是HTTP响应。 (也许这是一个例外,额外的data意味着完全不同的东西。)

0 个答案:

没有答案