我想知道如何检查功能是否成功或有错误。我在函数本身中检查了这一点。但是如何在调用服务时重新检查结果。
我尝试过这样的事情
entryService.update($scope.entry)
.success(function(){
$scope.entry = data;
$state.go('entry', {id: $scope.entry._id});
}).error(function(){
error = true;
});
然而,这不起作用。我想知道如何获得类似的结果?
我的服务功能如下:
angular.module('academiaUnitateApp')
.factory('entryService',function($http){
var service = {};
service.update = function(entry, callback){
$http.put('/api/entrys/' + entry._id, entry)
.success(callback, function(data){
console.log('Updated entry : ', data);
})
.error(callback, function(error){
console.log("Couldn't update entry. Error : ", error);
});
};
return service;
});
答案 0 :(得分:2)
您可以从函数中返回true或false以获得成功或失败。
答案 1 :(得分:1)
检查代码评论
entryService.update($scope.entry)
.success(function(){
$scope.entry = data;
$state.go('entry', {id: $scope.entry._id});
}).error(function(){
error = true;
});
angular.module('academiaUnitateApp')
.factory('entryService',function($http){
var service = {};
service.update = function(entry, callback){
$http.put('/api/entrys/' + entry._id, entry)
.success(callback, function(data){
console.log('Updated entry : ', data);
})
.error(callback, function(error){
console.log("Couldn't update entry. Error : ", error);
//IF ERROR, RETURN NULL
return null;
});
//MUST RETURN DATA HERE TO ALLOW .SUCCESS TO RUN
return data;
};
return service;
});
Update函数中的返回数据将使成功(或.done)函数被调用。