解决axios异步请求导致无法接收数据的问题

1.原因

异步请求:虽然请求已经发出去,但JS不会等待请求结果返回,而是会立即执行后面的代码 这就导致拿不到请求结果
如下图所示:
在这里插入图片描述

2.解决方法

在函数上加上async
在axios前加上await
让其等待服务器返回结果
await 只能用于异步函数(加了async的函数)中
在这里插入图片描述
最后 return 一下结果

3.接收数据的地方也需要await和async

在这里插入图片描述
因为此时调用的函数仍是一个异步函数,所以这里也需要进行同步处理
进而也需要重新定义一个函数,然后进行调用即可:
在这里插入图片描述

4.使用axios的interceptor后,api中的函数不再需要加await和async了

在这里插入图片描述

因为这个拦截器本身就是异步的:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值