$ q的错误即使它被注入控制器

时间:2017-11-13 20:43:47

标签: javascript angularjs

每当我点击我的函数中的以下行时,我都会收到错误(由于某些原因它没有给我错误描述):

 var deferred = $q.defer();

使用此函数调用函数:

        var promise = saveAccessPermissions($scope.form.permissions, $scope.form);
    promise.then(function () {
        alert('items saved');
    })

这是整个函数,但它永远不会超过$q

function saveAccessPermissions(permissions, form) {

var deferred = $q.defer();
var permissionCount = 0;
function saveAccess() {
    form.AccessListItemPropertyId = permissions[permissionCount].AccessListItemPropertyId;
    PermissionsService.insertEmployeeAccess(form)
        .then(function () {
            permissionCount++;
            if (permissionCount < permissions.length) {
                return saveAccess();
            }
            else {
                deferred.resolve();
            }
        }).error(function (reason) {
            alert(reason);
        });
}

}

这是我一直使用它的方式,但它在该行上出错了。我把它注入我的控制器:

 angular.module('myModule').controller('PermissionsCtrl', PermissionsCtrl);
PermissionsCtrl.$inject = ['$scope', 'PermissionsService', '$filter', '$q', '$http'];
function PermissionsCtrl($scope, PermissionsService, $filter, $q, $http) {

我不确定我错过了什么。非常感谢任何帮助!

0 个答案:

没有答案