加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – $q promise错误回调链

发布时间:2020-12-17 08:25:28 所属栏目:安全 来源:网络整理
导读:在下面的代码片段中,错误1和成功2将被记录。如果原始延迟被拒绝,我如何可以传播被调用的错误回调,而不是正在调用的成功回调。 angular.module("Foo",[]);angular.module("Foo").controller("Bar",function ($q) { var deferred = $q.defer(); deferred.re
在下面的代码片段中,错误1和成功2将被记录。如果原始延迟被拒绝,我如何可以传播被调用的错误回调,而不是正在调用的成功回调。
angular.module("Foo",[]);
angular
.module("Foo")
.controller("Bar",function ($q) {
    var deferred = $q.defer();
      deferred.reject();

      deferred.promise
          .then(
              /*success*/function () { console.log("success 1"); },/*error*/function () { console.log("error 1"); })
          .then(
              /*success*/function () { console.log("success 2"); },/*error*/function () { console.log("error 2"); });
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="Foo">
    <div ng-controller="Bar"></div>
</div>
通过在错误回调中返回$ q.reject来传播错误
var deferred = $q.defer();
      deferred.reject();

      deferred.promise
          .then(
              /*success*/function () { console.log("success 1"); },/*error*/function () { console.log("error 1"); return $q.reject('error 1')})
          .then(
              /*success*/function () { console.log("success 2"); },/*error*/function () { console.log("error 2"); });
});

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读