Ответ axios.get не присваивается переменной - PullRequest
0 голосов
/ 06 сентября 2018

Я изучал этот вопрос в течение некоторого времени и не нашел ответа. Я использую axios.get, чтобы вернуть userID. Я получаю правильный ответ - я получаю число для userID при выполнении console.log(response.data); Однако, когда я пытаюсь присвоить response.data локальной переменной, чтобы я мог ее вернуть, она не устанавливается. (Я также попытался определить глобально userID в data, а затем сослаться на него как userID.this, но это не помогло.) Я смотрел на другие ответы, такие как этот: Axios не может установить данные , но они не работали для меня. Любая помощь приветствуется. Заранее спасибо. (код ниже)

edit: Я также посмотрел на этот вопрос: Как мне вернуть ответ от асинхронного вызова? , но он ничего не добавил для меня. Он предложил использовать обещания и блок then, но я уже сделал это, и он все еще не работает.

  retrieveUserID: function()
{
   var userID=0;


this.axios.get('getUserID.php' , { 
  params: {
                  username: this.currentUser
          }  })

.then(response => {
            console.log("retrieveUserID:response.data = " + response.data);

            userID=response.data;
       } )
              .catch((error )=> {this.submitSessionFailure(error);});



   return userID ;  // staying zero

  }

1 Ответ

0 голосов
/ 06 сентября 2018

Попробуйте это ...

retrieveUserID: function()
{
  this.axios.get('getUserID.php' , { 
    params: {
      username: this.currentUser
    } 
  })
  .then(response => {
    var userID=0;
    console.log("retrieveUserID:response.data = " + response.data);
    userID=response.data;
   } )
  .catch((error )=> {this.submitSessionFailure(error);});
  return userID ;  // staying zero
} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...