数组'relatedBoxes'之后不包含正确的信息。如果看起来是空的。 我认为这可能是一个异步问题,但我不知道如何更改我的代码...我今天读了几页关于javascript的异步行为,但它并不适合我的情况。 我还在这里发现了一个> 2k upvotes,但这个也没有帮助我-.-
有人可以快速重构我的代码或告诉我问题在哪里吗?
感谢任何帮助!
问候
var o = {
boxesSubbed:[],
acceptancethreshold,
relevantBoxes[]
};
var currentLastAw;
o.updateRelevantBoxes = function() {
//Reset Boxes on start
o.relevantBoxes = [];
$http.get('/members-matter/mm-boxes/'+auth.currentUserId()+'/subbed/get-boxes').success(function(boxes){
angular.copy(boxes, o.boxesSubbed);
$http.get('/members-matter/mm-user/'+auth.currentUserId()+'/get-acceptance-threshold').success(function(threshold){
o.acceptancethreshold = threshold;
for(var i=0; i< o.boxesSubbed.length; i++){
(function () {
var currentBox = o.boxesSubbed[i];
$http.post('/members-matter/mm-boxes/get-last-answered', currentBox).success(function (lastaw){
currentLastAw = lastaw;
var data = {
frequency:currentBox.frequency,
lastanswered:currentLastAw
};
$http.post('/members-matter/mm-boxes/get-urgency', data).success(function (urgency){
if(urgency > o.acceptancethreshold){
o.relevantBoxes.push(currentBox);
}
});
});
})();
}
});
});
};