Как использовать «очередь» или «отложенный» в каких условиях? Каковы их цели проектирования? - PullRequest
5 голосов
/ 14 ноября 2011

Я в замешательстве, это "очередь" для анимации и отложено для "ajax"?Может ли кто-нибудь рассказать мне типичные примеры?

1 Ответ

6 голосов
/ 14 ноября 2011

Вы в основном правы.

«отложенные объекты» можно использовать для обработки асинхронных событий - вы инициируете действие, а затем регистрируете обратный вызов, который будет вызван, когда действие имеетзавершено.Это включает в себя AJAX, хотя есть и много других применений.

очереди jQuery действительно в основном используются для поддержки очереди (анимационных) функций, вызываемых последовательно, и .queue()специально используется для добавления вашей собственной функции в очередь анимации.

Чтобы еще больше усложнить ситуацию, анимации могут также вызывать асинхронные обратные вызовы, когда они завершаются.«Традиционный» способ сделать это состоял в предоставлении обратного вызова для функции анимации, но с современным jQuery, если вы вызываете .promise() для объекта jQuery, вы получаете отложенный объект, который будет разрешен при любой существующей анимации на каждом элементе в этомОбъект завершен:

$('#id1,#id2').slideUp().promise().done(function() {
    // this will be called when the animations are complete
});
...