Тема: Незрозуміла поведінка коду
Добрий вечір. Маю код
for(var i = 0; i<allUsers.length; i++)
{
var queryCount = new Parse.Query(Parse.User);
queryCount
.greaterThanOrEqualTo(allUsers[i]["score"])
.notEqualTo("username",allUsers[i]["username"]);
queryCount.count({
success: function(count) {
if(allUsers[i]!==undefined){
allUsers[i]["rank"]=count;
allUsers.save();
}
if(i==allUsers.length-1)
{
response.success(allUsers);
}
},
error: function(error){
response.error(error);
}
});
}
Перед цим циклом я перевіряв довжину масива allUsers, і вона була вірною, в моєму випадку вона дорівнювала п'яти. Але середовище, в котрому виконується скрипт, матюкається на те, що response.success() або response.error() не було викликано.
Я думав, що проблема в асинхронності, тобто на момент першого виконання if(i==allUsers.length-1) наш цикл вже дійшов до кінця, але навіть в цьому випадку if має виконатись.
Які у вас думки? Чому response.success() може не виконуватись?