在angularJS中捕获异常

时间:2015-06-17 04:43:45

标签: angularjs

我刚刚浏览了一个angular-fullstack应用程序,我遇到了这段代码:

catch( function(err) {
      err = err.data;
      $scope.errors = {};

      // Update validity of form fields that match the mongoose errors
      angular.forEach(err.errors, function(error, field) {
        form[field].$setValidity('mongoose', false);
        $scope.errors[field] = error.message;
      });

我理解这段代码它试图说什么,但我想知道是否假设错误发生了什么传递给函数(错误,字段)。我无法解释发生错误时会发生什么。这样我就能知道这段代码中究竟发生了什么

这段代码在控制器中

有人可以用例子解释整个程序吗?

1 个答案:

答案 0 :(得分:1)

看起来你正在“捕获”错误(可能从一个宁静的服务返回)并将错误数组中的每个错误映射到它的特定字段。

然后将该字段的有效性设置为false,这是角形式所持有的。

最后,对$scope.errors存在某种绑定,显示添加到$scope.errors数组的每条错误消息。

看起来非常简单和典型的验证。它与核心角度错误处理无关,只是一种向表单/页面添加验证信息的方法。