这个错误的其他帖子总是包含试图在不使用安全应用程序的情况下申请$的人,但我的例子并非如此.我的功能成功地返回了我从API中请求的数据,但是我无法清除这个错误,这让我坚强了.
每次在我的$http函数调用.success之前,我都会在控制台中得到“Error:[$rootScope:inprog] $digest has progress in …”.以下是我的控制器和服务.谢谢!
每次在我的$http函数调用.success之前,我都会在控制台中得到“Error:[$rootScope:inprog] $digest has progress in …”.以下是我的控制器和服务.谢谢!
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