我正在尝试的代码是这样;
axios({
method:'get',
url:'/user',
baseURL:'https://api.github.com',
auth:{
username:'username',
password:'password'
}
}).then((response)=>{
this.errorMessage='';
console.log(response);
}).catch(function(error){
this.errorMessage='Authentication failed';
})
但是我不断收到错误消息:“未捕获(承诺)TypeError:无法设置未定义的属性'errorMessage'”
现在,通常的嫌疑犯已经解决;在数据上声明了“ errorMessage”,并赋予了“”值,因此并非如此。事物的响应部分上的“ this.errorMessage”有效(我对其进行了测试以证明“身份验证成功”),而事物的catch错误部分上却不起作用。
答案 0 :(得分:0)
context
关键字时,函数内部的 function
会发生变化。使用箭头功能可使错误处理程序中的上下文与父范围保持相同。您在当时的处理程序上使用它,这就是它在那里工作的原因。
.catch((error)=>{
this.errorMessage='Authentication failed';
})