Показать сообщение отдельно
  #5 (permalink)  
Старый 09.08.2017, 23:48
Аватар для Белый шум
Профессор
Отправить личное сообщение для Белый шум Посмотреть профиль Найти все сообщения от Белый шум
 
Регистрация: 19.01.2012
Сообщений: 505

Если я правильно понял ваш код, то не хватает возврата результата dfd по всей цепочке рекурсии. И реджектов в случае ошибки:
if ( (groupIDArray.length - currentGroupIDIndex) > 1){
                            *!* dfd = */!* initGroupInfo(token, groupArray, groupIDArray, ++currentGroupIDIndex);
                        }else{
                            console.log('Загрузка информации о группах завершена');
                            dfd.resolve();
                        }
                }else{
                    console.log('Ошибка: initGroupInfo(2)'); *!* dfd.reject(); */!*
                }
            }else{
                console.log('Ошибка: initGroupInfo(1)'); *!* dfd.reject(); */!*
            }

Ну и обработка ошибки:
dfd.done(function(){
            console.log('Закончили. Можно запускать другую функцию!')
        })
        *!* .fail(function(){ */!*
            *!* console.log('ошибка'); */!*
        *!* }); */!*

Хотя лучше бы вы выложили ваш пример на https://jsfiddle.net/ чтобы там можно было сразу проверить.

Последний раз редактировалось Белый шум, 09.08.2017 в 23:54.
Ответить с цитированием