如何用使用js的promise和ajax编写一个并发上传文件程序?
网友回复
<script> // AJAX call 1 function call_1() { return new Promise(function(resolve, reject) { let xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if(this.readyState == 4) { if(this.status == 200) resolve(this.responseText); else reject('Call 1 Failed'); } }; xhttp.open("GET", "ajax-1.php"); xhttp.send(); }); } // AJAX call 2 function call_2() { return new Promise(function(resolve, reject) { let xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if(this.readyState == 4) { if(this.status == 200) resolve(this.responseText); else reject('Call 2 Failed'); } }; xhttp.open("GET", "ajax2-2.php"); xhttp.send(); }); } Promise.all([ call_1(), call_2() ]).then(function(values) { // all AJAX requests are successfully finished // "values" is array containing AJAX responses of all requests console.log(values); }).catch(function(reason) { // one of the AJAX calls failed console.log(reason); }); </script>