@kr_ilya

Как достать значение из promise?

Для упрощения работы имеется такая система вызова axios

В компоненте vue:
created () { //при создании
      var response = Service.getIP();
      console.log(response);
        this.$store.dispatch('setIP', response); //идем к action в стороннем файле
    }

Service:
import Api from '@/services/Api'

export default {
  getIP () {
    return Api().get('/')
  }
}

API:
import axios from 'axios'
var domen = 'localhost'
export default() => {
  return axios.create({
    baseURL: 'http://' + domen +':3000'
  })
}


Проблема в том, что Service.getIP() (в компоненте vue) возвращает вот это:
5cc971c825d60617684526.png
Как можно вернуть data из этого?

Пробовал так:
Service.getIP().then(res => { return res})
но это ничего хорошего не дает
И так пробовал:
getIP () {
    return Api().get('/').then(response => {console.log(response);return response})
  },

На выходе всё равно промис...
  • Вопрос задан
  • 2740 просмотров
Решения вопроса 2
Lynn
@Lynn
nginx, js, css
created() { //при создании
  Service.getIP().then(response => {
    console.log(response);
    this.$store.dispatch('setIP', response); //идем к action в стороннем файле
  })
}


или так
async created() { //при создании
  const ip = await Service.getIP();
  this.$store.dispatch('setIP', ip); //идем к action в стороннем файле
}
Ответ написан
Комментировать
@aylo
async methodName() {
   let result = await Api().get('/');
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы