IronicMuffin
IronicMuffin

Reputation: 4192

How do I use jQuery .when() function with a dynamic set of ajax calls?

I'm using JqGrid and for each row in the grid I'm loading, I am making an ajax call to get additional data.

Once that's all complete, I need to apply some formatting.

I would like to use $.when(), but I'm not sure how to call it. I was researching the apply() method, but I still don't see how to use it appropriately.

Here is my code:

 $(rows).each(function () {
                        $.ajax(
                        {
                            url: url,
                            data: data,
                            success: function (result) {

                                }
                            }
                        });
                    });

   $.when(**What do i pass here??**).done(function () {

                    });

I had tried pushing each $.ajax call to an array, but I can't pass the array directly, and call everything.

Thanks in advance for your help!

Upvotes: 10

Views: 5354

Answers (1)

Dominic Barnes
Dominic Barnes

Reputation: 28439

This may not work at all, in fact I'm curious as to whether or not it will. Try building the array of promise objects, then call $.when.apply(null, arr).done(function () { ... });

apply allows you to trigger a function and pass an array of arguments dynamically, such as in this case.

Upvotes: 13

Related Questions