我因面对这个问题而停留了4个小时。我有这个代码
var sttr = [];
this.$http
.post(this.api_url+url, data)
.then((response)=>{
sttr.push(response.data);
})
.catch((error)=>{
if(error.request.status == 401){
this.unauth();
}else{
sttr.push(error.response.data.errors);
}
});
console.log(sttr[0]);
我对成功和错误的响应都存储在sttr变量中。但是问题是当我想获取数组的第一个值时,它返回未定义的值。那么,这个问题有解决方案吗?
最佳答案
您实际上是在响应返回之前调用console.log(sttr[0]);
,因为此代码是异步的。您需要将其记录在then
回调中,以确保它在收到响应后发生。