繁体   English   中英

Angular Promise不会停止

[英]Angular Promise not stopping

我已经在Angular中编写了以下承诺,但它似乎不想等到返回XHR数据。 不知道我在做什么错。

someAPICall.save({}, bigObject, function(data) {
            }).$promise.then(function(data) {
              //shouldn't it wait here for the data to be returned?
              qResponse = data;
            }, function(error) {
              console.log("error: " + error.status);
            })

编辑,这是使用$ resource的工厂本身:

.factory("someAPICall", function($resource){
  var resource = $resource(serverPath + '/path/to/data', {}, {
    save: {
      method: "POST",
      headers: {
        //header info
        }
      }
    }
  });
  return resource;
})

这里只是暗中刺刺,但看起来您在调用save有不必要的回调函数参数。 (在这种情况下,它甚至是空的)。

最近,在处理$ resource时,我一直跳过所有的诺言,因为我的应用程序不需要处理多个诺言的任何可组合性。 因此,我通常只使用成功和失败处理程序(代码中有一个空的成功处理程序)。

尝试这个:

someAPICall.save({}, bigObject, function(successData) {
    // called asynchronously on success. No need for promises at all
}, function(errorData) {
    // called asynchronously on failure. No need for promises at all
});

或者,也可以(不知道它是否可行)尝试在不传递回调的情况下获取promise对象。

someAPICall.save({}, bigObject).$promise;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM