How to wait until jQuery ajax request finishes in a loop?

后端 未结 5 809
终归单人心
终归单人心 2020-11-27 02:42

I have that code :

for (var i = 0; i < $total_files; i++) {
  $.ajax({
    type: \'POST\',
    url: \'uploading.php\',
    context: $(this),
    dataType:         


        
5条回答
  •  抹茶落季
    2020-11-27 03:05

    You can create an array of promises so that once all promises are resolved you can run your all done code.

    var promises = [];
    for (var i = 0; i < $total_files; i++){ 
       /* $.ajax returns a promise*/      
       var request = $.ajax({
            /* your ajax config*/
       })
    
       promises.push( request);
    }
    
    $.when.apply(null, promises).done(function(){
       alert('All done')
    })
    

    DEMO

提交回复
热议问题