2012-02-06 3 views
0

Отложенные jQuery меня никогда не любили, и я никогда не мог их полностью понять. Я хочу получать уведомления о том, что все отложенные предложения ВСЕ. Реальная проблема заключается в том, что количество отложенных будет не каждый раз. Так что я не могу это сделать:проблема с jquery отложенными

$.when(d1, d2, d3).done() 

Я попытался $.when.apply(this, [d1, d2, d3]), но она сразу же срабатывает, когда только один завершено.

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

Я знаю, что, вероятно, есть очевидное решение, но я не обращаю внимания на это.

ответ

1

Прочитано the documentation. В нем четко сказано, что вы можете передать один или несколько отложенных объектов до $.when.

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

+0

Я знаю, что я могу передать их, но я должен сделать это с заранее решил ряд аргументов, так что я могу передать их непосредственно. Моя проблема в том, что отсрочки динамичны и никогда не будут иметь заранее определенного количества аргументов. Мне нужно каким-то образом передать массив отложенных. – LordZardeck

+1

О, извините, тогда просто '$ .when.apply ($, [YOUR_DEFFERED_OBJECTS_HERE])' – ori

+0

Я использовал apply (this) вместо apply ($). Благодаря! – LordZardeck

Смежные вопросы