Javascript函数总是返回undefined

Yur*_*les 0 javascript vue.js axios

我有这个vue2代码:

checkUser2() {
    var returnValue;
    axios.get(`api/users/CheckUsername/${this.username}`)
          .then(response => {
              returnValue = response.data.error === 0;
          }, errorCallBack => {
              returnValue = false;
          });
    return returnValue;
}
Run Code Online (Sandbox Code Playgroud)

我叫它:

var a = this.checkUser2();
console.log(a);
Run Code Online (Sandbox Code Playgroud)

它总是返回undefined.我究竟做错了什么?

Ber*_*ert 6

如果要从此方法返回值,则必须从函数返回promise并使用回调来捕获成功的结果.

checkUser2() {
    return axios.get(`api/users/CheckUsername/${this.username}`)
      .then(response => response.data.error === 0, errorCallBack => false);
}
Run Code Online (Sandbox Code Playgroud)

当你打电话给它时:

this.checkUser2().then(value => console.log(value))
Run Code Online (Sandbox Code Playgroud)