Тема: Незрозуміла поведінка коду
Добрий вечір. Маю код
               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() може не виконуватись?
 (для JavaScript це нормально)