js实现ajax多个异步请求,一个执行完再执行下一个
时间: 2024-01-20 10:04:18 浏览: 26
如果要实现多个 AJAX 异步请求一个执行完再执行下一个,可以使用 Promise 和 async/await,或者使用 jQuery 的 $.Deferred() 方法。
方法一:Promise 和 async/await
使用 Promise 和 async/await 可以实现多个 AJAX 异步请求一个执行完再执行下一个,可以将多个异步请求封装成一个 Promise 链,等待前一个请求完成后再发起下一个请求。代码如下:
```javascript
function fetchData() {
return fetch('url1')
.then(function(data1) {
console.log(data1);
return fetch('url2');
})
.then(function(data2) {
console.log(data2);
return fetch('url3');
})
.then(function(data3) {
console.log(data3);
});
}
fetchData();
```
方法二:jQuery 的 $.Deferred()
使用 jQuery 的 $.Deferred() 方法可以实现多个 AJAX 异步请求一个执行完再执行下一个,可以将多个异步请求封装成一个 $.Deferred() 链,等待前一个请求完成后再发起下一个请求。代码如下:
```javascript
function fetchData() {
return $.ajax('url1')
.then(function(data1) {
console.log(data1);
return $.ajax('url2');
})
.then(function(data2) {
console.log(data2);
return $.ajax('url3');
})
.then(function(data3) {
console.log(data3);
});
}
fetchData();
```