2011-11-04 41 views
19

Sunucuya [1, n) AJAX istekleri göndermek istiyorum ve sonuçta bir sonuç döndükten sonra kalıcı bir iletişim kutusu kapatılmalıdır. $.when(a(), b(), c()) mükemmel olurdu, ancak işlevlerin değişken sayısını parametre olarak $.when'a nasıl geçireceğimi bilmiyorum. Bu sorunu çözmek için herhangi bir fikir?

+0

related: [Bir jQuery Deferreds dizisiyle nasıl çalışıyorsunuz?] (Http://stackoverflow.com/q/4878887/1048572) – Bergi

cevap

27

İşlevleri çağırın ve dönüş değerlerini bir diziye ekleyin. Sonra şöyle argüman olarak dizi geçen $.when çağırır:

$.when.apply($, array) 

uzun bir örneğin daha fazla bilgi ve my answer here için Function.prototype.apply[MDN] bakınız.

+1

Bazen kafanın masaya vurulması zamanı geldi ... JS tüm güzelliğini elde etmek için çok güzel - .apply() bunlardan biri! "Denkanstoß" için çok teşekkürler ;-) – Botic

+0

Rica ederim! Bitte schoen :) –

İlgili konular