axios请求数据后立马.then进来但是拿不到后端返回数据
时间: 2023-05-02 17:06:09 浏览: 487
react-data-request
当使用axios进行请求数据并立刻在其后执行.then()方法时,有可能会出现无法获得后端返回数据的情况。这种情况通常出现在请求数据的时间过长或者服务端处理数据时间过长,导致前端在请求完成前就已经执行了.then()方法,因此无法接收到完整的响应。
解决这个问题的方法是使用async/await或Promise.all()。使用async/await可以使请求等待数据返回后再执行.then()方法。如下所示:
```
async function getData() {
const response = await axios.get('url');
console.log(response.data);
}
getData().then(() => {
//执行其他操作
})
```
另一种方法是使用Promise.all(),可以将多个请求合并,等待数据返回后再执行.then()方法。如下所示:
```
const promise1 = axios.get('url1');
const promise2 = axios.get('url2');
Promise.all([promise1, promise2]).then((results) => {
console.log(results[0].data);
console.log(results[1].data);
//执行其他操作
})
```
以上两种方法都可以避免在请求数据结束前就执行.then()方法而导致无法获得完整的响应。
阅读全文