[英]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.