我使用下面的代码简化后端请求,但我不知道如何调用success方法或error方法。
我该如何实现代码中所注释的期望行为?
我该如何实现代码中所注释的期望行为?
app.factory('REST', function ($http, $q, sweetAlert) {这是使用上述代码的代码:
return { load: function (module, action, data) { var deferred = $q.defer(); var promise = deferred.promise; $http .post('/api/'+module+'.php?action='+action, data) .success(function (data) {
if(data.error) { sweetAlert.swal({ title: "错误", text: data.error, type: "warning" }); //在此处我想调用.error(details) } else deferred.resolve(data.result);
}).error(function () { //在此处我想调用.error(details) });
promise.success = function(fn) { promise.then(fn); return promise; }
return promise; } }; });
$scope.login = function () {
$scope.loading = true;
var payload = {'credentials': $scope.logindata};
REST.load('access', 'login', payload).success(function(data) {
if(data.redirect)
$state.go(data.redirect);
$scope.loading = false;
}).error(function(data) { //THIS SHOULD BE CALLED
$scope.loading = false;
});
}
.reject()
而不是.error()
吗? - Bergi