Vue Mixin делает вызов Axios и данные настройки - PullRequest
0 голосов
/ 08 июля 2019

Мне нужно нажать на API и установить значения get из ответа и установить его в глобальный миксин, чтобы он был доступен для всех компонентов .. Это своего рода логика инициализации, и вызов API должен запускать только один ..

import Axios from 'axios'

let updatetime
function fetchData () {
  console.log('fetchData invoked')
  return Axios
    .get('https://api.coindesk.com/v1/bpi/currentprice.json')
    .then(response => {
      updatetime = response.data.time.updated
    })
}
fetchData().then(respons => { console.log('INSIDE---' + updatetime) })

const myMixin = {
  data () {
    return {
      time: 'invalidTime'
    }
  },
  mounted () {
    console.log('old time' + this.time)
    this.time = updatetime
    console.log('new Time' + this.time )
  }
}

export default myMixin

Я надеялся, что смогу сделать вызов axios снаружи [так, чтобы axios не выполнялся каждый раз для компонента] и установить значение обратно на mixin. Я хочу, чтобы этот вызов axios былsynchrnous, так как без этого значения другие компоненты не будут работать ..

Но методы mixin запускаются до того, как завершается работа axios. Каково это право?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...