Сообщение от koha345
|
Мне кажется, в ходе рекурсии первый вызов не вызывает resolve. Т.е. deffered теряется и никогда не вызывается, а на последнем шаге он вызывается, но возвращается в предыдущий вызов, но там никакого обработчика нет.
|
Да, что-то я не то предложил. Попробуйте передавать в рекурсивную ф-ю текущий dfd параметром, как-то так:
function initGroupInfo(token, groupArray, groupIDArray, currentGroupIDIndex *!* , dfd_out = false */!* ){
initGroupInfo(token, groupArray, groupIDArray, ++currentGroupIDIndex *!* , dfd */!* );
}else{
console.log('Загрузка информации о группах завершена');
if(dfd_out) *!* dfd_out.resolve(); */!*
if(dfd_out) *!* dfd.done(function(){ dfd_out.resolve(); }); */!*
return dfd.promise();