此錯誤的其他帖子總是包含有人試圖在沒有使用安全申請的情況下申請,但這不是我的情況例。我的函數成功返回了我從API請求的數據,但是我無法清除這個錯誤,這讓我感到非常緊張。 每次在我的$ http函數中調用.success之前,我都會在控制檯中得到「錯誤:[$ rootScope:inprog] $ digest已在進行中」。以下是我的控制器和服務。謝謝!
這裏是我的服務,包括一個功能發佈與有效載荷的$ 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, status, headers, 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語句內得到分配。 任何幫助擺脫這個bug或使它不蹩腳的一般將不勝感激!
這裏是整個錯誤: https://gist.github.com/thedore17/bcac9aec781ef9ba535b
你有什麼更多的堆棧跟蹤的錯誤之前? –
這是整個事情:https://gist.github.com/thedore17/bcac9aec781ef9ba535b – TedCap
你的錯誤發生在ui-bootstrap中,而不是你的服務:(匿名函數)ui-bootstrap-tpls-0.10.0.js: 1539 –