2011-11-04 31 views
19

Tôi muốn gửi [1, n) các yêu cầu AJAX tới máy chủ và sau khi tất cả đã trả lại kết quả, một hộp thoại phương thức sẽ được đóng lại. $.when(a(), b(), c()) sẽ là hoàn hảo, nhưng tôi không biết cách chuyển số hàm biến đổi thành $.when làm tham số. Bất kỳ ý tưởng làm thế nào để giải quyết vấn đề này?

+0

liên quan: [Làm thế nào để bạn làm việc với một loạt các jQuery hoãn lại?] (Http://stackoverflow.com/q/4878887/1048572) – Bergi

Trả lời

27

Gọi hàm và thêm giá trị trả về của chúng vào một mảng. Sau đó gọi $.when đi qua các mảng như là đối số như sau:

$.when.apply($, array) 

Xem Function.prototype.apply[MDN] để biết thêm thông tin và my answer here cho một ví dụ mở rộng.

+1

Đôi khi nó chỉ là thời gian để gõ đầu của một người chống lại bàn ... JS là quá đẹp để có được tất cả vẻ đẹp của nó - .apply() là một trong số đó! Cảm ơn rất nhiều cho "Denkanstoß" ;-) – Botic

+0

Bạn được chào đón! Bitte schoen :) –

Các vấn đề liên quan