Пример:
В следующем примере использованием метода deferred.resolve() отслеживается выполнение асинхронных функций, добавленных в пространство имён jQuery (jDefferedIn,jDefferedOut). На консоль будет выведено сообщение 'Обе функции завершены!'.
"jQuery"
$(document).ready(function () { jQuery.fn.jDefferedIn = function() { var dfd = $.Deferred(); $(this).fadeIn(2000, dfd.resolve); return dfd.promise(); }; jQuery.fn.jDefferedOut = function() { var dfd = $.Deferred(); $(this).fadeOut( 2000, dfd.resolve ); return dfd.promise(); }; $.when($('#result').jDefferedIn(), $('#result').jDefferedOut()).then(function() { console.log('Обе функции завершены!') }); });