一直想弄清楚如何使用ngresource帖子返回一个承诺。我可以用$ http来做,但不能弄明白这一点。我得到了.then没有定义错误。
控制器
$scope.addLocation = function (model) {
var model = $scope.model;
var promise = DocumentLocation.save(model);
promise.then(function success(model) {
console.log(model);
$route.reload();
$rootScope.close();
notificationFactory.success();
},
function error(error) {
console.error(error);
notificationFactory.error();
}
)
};
厂
app.factory('DocumentLocation', function ($resource) {
return $resource('/api/apiDocumentLocation/:id', { id: '@_id' }, {
get: {
method: 'GET', isArray: false // this method issues a PUT request
}
}, {
stripTrailingSlashes: false
});
});
答案 0 :(得分:4)
资源实例具有$promise
属性,它们本身不是承诺。只需将then
来电置于$promise
前面。
var promise = DocumentLocation.save(model);
promise.$promise.then(function success(model) {
....
答案 1 :(得分:1)
我认为你应该拨打.$save()
而不是.save()
$scope.addLocation = function (model) {
var model = $scope.model;
var promise = DocumentLocation.$save(model);
promise.then(function success(model) {
$route.reload();
$rootScope.close();
notificationFactory.success();
},
function error(error) {
console.error(error);
notificationFactory.error();
}
)
};
有关详细信息,请参阅This Link。
希望这可以帮到你。感谢。