我无法理解在 javascript 中执行内容的顺序......它似乎完全不符合我在 Java 中习惯的顺序。有人可以建议如何强制执行正确的命令吗?
我希望 getRegisteredUsersList 首先完成,这将为 getAllUsersActivityCount
提供第一个参数,这是一个数组。
然后对于该数组的每个元素,我希望getAllUsersActivityCount
对其执行countActivitiesForUser
。不幸的是,这并没有按预期工作。
我有以下方法:
$scope.count = function(){
var result = getAllUsersActivityCount(getRegisteredUsersList(),4);
return result;
};
getRegisteredUsersList = function(){
var url = "MY QUERY URL THAT RETURNS ARRAY OF USERS";
$http.get(url).success(
function(data, status, headers, config) {
return data;
}
);
};
getAllUsersActivityCount = function(usersList,type){
var sdf = new JsSimpleDateFormat("MMM d, yyyy");
var date = sdf.format(new Date());
var returnArray = [];
for(var i=0;i<usersList.length;i++){
var userid= usersList[i].userid;
var name= usersList[i].name;
returnArray.push({userid: userid, name: name, count: countActivitiesForUser(userid,type,date)});
}
return returnArray;
};
$scope.countActivitiesForUser = function(userid,type,date){
var url = "MY QUERY URL THAT RETURNS SINGLE NUMBERICAL VALUE";
$http.get(url).success(
function(data, status, headers, config) {
return data;
}
);
};