Перехватчики Nuxt ax ios не регистрируются должным образом - PullRequest
0 голосов
/ 13 апреля 2020

Я создал axios.js файл в соответствии с документацией для расширения топора ios, так как я хочу запускать загрузчик каждый раз, когда делается запрос:

export default function({ $axios, store }) {
  console.log(store)
  // request
  $axios.onRequest((config) => {
    console.log('request')
  })

  // response
  $axios.onResponse((res) => {
    console.log('response')
  })

  // error
  $axios.onError((config) => {
    console.log('error')
  })
}

Однако, когда в запросе ничего не регистрируется в браузере. Не уверен, что я делаю неправильно, но когда я добавляю перехватчики непосредственно к объекту ax ios, это нормально. Я не уверен, как совершить действие при этом.

Я добавил плагин так:

/*
   ** Plugins to load before mounting the App
   */
  plugins: ['@/plugins/filters.js', './plugins/axios.js'],

filters работает как положено

Я использую промежуточное программное обеспечение для отправки действия:

export default function({ store }) {
  return store.dispatch('getProducts')
}

И действие использует топор ios:

import axios from 'axios'

const actions = {
  async getProducts({ commit }) {
    try {
      const result = await axios.get(`${process.env.browserBaseUrl}`)
      commit('getProducts', result.data.quotes)
    } catch (e) {
      console.error(e)
    } finally {
      console.log('We do cleanup here')
    }
  },
  setCurrentFilter({ commit }, payload) {
    commit('setCurrentFilter', payload)
  }
}

export default actions

1 Ответ

1 голос
/ 13 апреля 2020

Вам не нужно импортировать, если ax ios уже зарегистрирован как плагин. Вы можете использовать топор ios вот так - this.$axios.$get('url', ()=> {}). Может быть, поэтому это происходит.

...