Как получить результат POST-запроса AXIOS

Рейтинг: -1Ответов: 1Опубликовано: 06.08.2023

дорогие друзья. Столкнулся с проблемой. Пишу пет-проект, на пару с бэкенд-программистом. Делаем регистрацию и необходимо после отправки данных аккаунта и записи их в бд, получать ID, для отправки письма на почту (верификация).

Написал вот такой код:

async createAccount(){
   await axios({
    method: 'post',
    url: "ссылка_на_апи",
    data: {
      username: this.login,
      email: this.email,
      password: this.password,
      first_name: this.first_name,
      last_name: this.last_name
    }
  })
  .then((response) => {
    this.registrationData = response.data;
    console.log(this.registrationData);
  })
  .catch(error => {
      console.log(error);
  })

Но данные адекватно получить так и не могу. Если выношу лог вне then, он пустой.

Понимаю, что дело в области видимости.

Так как в итоге мне достать данные, выручайте?

Если что, пишу на Vue

Ответы

▲ 0

  //либо:
  // async/await/try/catch
  //пример:
  const get = async () => {
    try {
      const response = await Promise.resolve("hello");
      console.log(response); //hello
    } catch (err) {
      console.log(err);
    }
  };
  get();
  //либо:
  // promise.then().catch().finally()
  //пример:
  Promise.resolve("hello")
    .then((res) => {
      console.log(res); //hello
    })
    .catch((err) => {
      console.log(err);
    });

  // //1
  // const get = async () => {
  //   try {
  //     const res = await axios();
  //     console.log(res);
  //   } catch (e) {}
  // };
  // //2
  // axios().then((res) => {
  //   console.log(res);
  // });