为什么axios的vue.js语句启动较晚?

qmb5sa22  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(286)

首先,我想将数据存储在response.data的this.result中。我想知道为什么底部的alert语句是在启动“.”然后(函数(响应)之前先启动的

e0bqpujr

e0bqpujr1#

您的警报会立即显示,因为 axios.get(..) 是非阻塞或异步的。
这是一个需要理解的关键概念——就你的应用而言,这意味着你可以 axios.get(..) 不中断(或阻止)程序继续(即使 GET 请求正在后台工作)。
这就是为什么会立即显示警报对话框。
什么时候 axios.get(..) 在稍后阶段完成或失败,即您提供给的函数 .then() 或者 .catch() 被称为。
如果希望在从服务器获得成功响应后显示警报,请按以下方式更新代码:

axios.get(.., { 
   .. 
})
.then((response) => {

    this.result = response.data;
    // Move alerts into the function within your then() handler
    alert('test');
    alert(this.result[0].model_name);
})
.catch((error) => {
    console.log(error);
});

相关问题