2016-01-29 6 views
0

Итак, я пытаюсь запустить функцию после того, как функция полностью выполнена. Я читал, что это делает трюк.Функция запуска jQuery после выполнения

$.when(functionName1()).done(
    $.when(functionName2()).done(
     functionName3() 
    ) 
); 

Проблема в том, что предыдущие функции еще не закончены. Я думаю, причина в том, что в предыдущих функциях есть несколько вызовов ajax.

Как я могу убедиться, что все вызовы ajax и функция полностью закончены, прежде чем перейти к следующей функции?

+0

Используйте обещания, которые сделают эту асинхронной вещь проще – geckob

+3

использовать анонимные функции '$ .when (functionName1()). Done (функция() { $ .when (functionName2()). Done (functionName3); }); '. – Tushar

ответ

0

Вы можете использовать сделать метод шаг за шагом двигаться,

$.when(functionName1()).done(function() { 
     $.when(functionName2()).done(functionName3); 
    }); 
Смежные вопросы