加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

获取AngularJS错误:“[$rootScope:inprog] $digest已经进行中

发布时间:2020-12-17 07:42:24 所属栏目:安全 来源:网络整理
导读:这个错误的其他帖子总是包含试图在不使用安全应用程序的情况下申请$的人,但我的例子并非如此.我的功能成功地返回了我从API中请求的数据,但是我无法清除这个错误,这让我坚强了. 每次在我的$http函数调用.success之前,我都会在控制台中得到“Error:[$rootScop
这个错误的其他帖子总是包含试图在不使用安全应用程序的情况下申请$的人,但我的例子并非如此.我的功能成功地返回了我从API中请求的数据,但是我无法清除这个错误,这让我坚强了.
每次在我的$http函数调用.success之前,我都会在控制台中得到“Error:[$rootScope:inprog] $digest has progress in …”.以下是我的控制器和服务.谢谢!

这是我的服务,包括使用有效载荷发布$http呼叫的功能:

Services.service( 'CoolService',['$q','$rootScope','$http','Auth',function($q,$rootScope,$http,Auth){
var service = {
    create: function(payload){
        var deferred = $q.defer();
        $http({
            'url': '/api/endpoint/','dataType':'json','method': 'POST',data: payload
        }).success(function(data,status,headers,config){
            deferred.resolve(data);

        })
        .error(function(data,config){
            deferred.reject("Error in request.");
        });
        return deferred.promise;
        }
    }
    return service;
}]);

这是我的控制器调用服务:

controllers.controller('CoolCtrl',['$scope','$modal','$log','CoolService',function($scope,$modal,$log,CoolService){
    getCoolData = function (input_data) {
        CoolService.create(input_data).then(function(results){
            new_cool = results.results;
        },function(error){
        console.log("there was an error getting new cool data");
        });
    };
    var payload = {
        user_id: data1,cool_id: data2,}
    var new_cool_data = getCoolData(payload);
    console.log(new_cool_data);
}]);

下面的日志var new_cool_data在异步操作之前被调用,但是new_cool在getCoolData中的.then语句内部被赋值.
任何帮助摆脱这个错误或使它不肮脏的一般将不胜感激!

这是整个错误:
https://gist.github.com/thedore17/bcac9aec781ef9ba535b

添加这个小方法,并将其称为apply()
function CheckScopeBeforeApply() {
    if(!$scope.$$phase) {
         $scope.$apply();
    }
};

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读