我们在做项目的时候通常会遇到需要先后执行两个请求的情况。
例如,我首先需要发送请求获取id值,再通过id值执行其他操作。
但这样就会遇到问题,我们发现虽然写了两个指令,网络请求能够收到id值,但是第二个请求接受不到id值。这是因为两个请求同时执行,前面的请求还没有执行完毕,第二个请求就来了,显然是不能收到第一个请求获取的id值。
我们需要第一个请求执行完毕后,获取到id值后再执行第二个请求。
可以用async和await异步进程来解决这个问题
async que(){
var res = await axios.get(this.url)
this.id = res.data
将被执行的函数名前加上async,再将axios前面加上await,就能实现解决请求问题。
可以看到,第二个请求在第一个请求后,才开始进行的,这样就解决了刚才我们提到的问题。