+
95
-

回答

<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>

网友回复

我知道答案,我要回答