javascript - 使用命名的成功/错误回调在 AngularJS 中声明一个 Promise

标签 javascript angularjs promise

我正在尝试做一些与 $http 服务非常相似的事情。根据我的理解 $http 返回一个 Promise 对象。

使用它时的语法是:

$http(...).success(function(data)) {
   //success callback
}).error(function(data)) {
   //error callback
})

我想做同样的事情,但考虑到我的 API 是 GetUserProfile,所以我希望有语法:

GetUserProfile(...).success(function(data) {
   // success callback
}).error(function(data)) {
   // error callback
})

如何使用 Promise 来实现这一点?

最佳答案

开源的好处是你可以阅读源代码。 $http 服务的实现方式如下:

  promise.success = function(fn) {
    promise.then(function(response) {
      fn(response.data, response.status, response.headers, config);
    });
    return promise;
  };

  promise.error = function(fn) {
    promise.then(null, function(response) {
      fn(response.data, response.status, response.headers, config);
    });
    return promise;
  };

关于javascript - 使用命名的成功/错误回调在 AngularJS 中声明一个 Promise,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19746945/

相关文章:

javascript - 错误的排序回调 - 结果仍然正确

javascript - 错误: [$injector:unpr]

javascript - 带有 Grails <content> 标签的 Angularjs

javascript - 在 Angular js 中链接 promise

javascript - 使用 AngularJS 指令、工厂和 ng-repeat 动态更改内容

javascript - DataTable 可以工作,但在 JS 函数中访问它时收到错误

javascript - NodeJS - 如果收到事件,则终止 promise 链

javascript - 使用具有 A+ 规范的 Superagent?

javascript - 使用 JS 为 div 添加前缀,而不是隐藏

javascript - 如何向 promise 链添加另一个并行 AJAX 调用