javascript - Permintaan berbilang axios pada masa yang sama, data ditimpa oleh permintaan sebelumnya, bagaimana untuk menyelesaikannya?
大家讲道理
大家讲道理 2017-07-05 11:05:31
0
2
1376

Permintaan berbilang axios pada masa yang sama, data ditimpa oleh permintaan sebelumnya, bagaimana untuk menyelesaikannya
Menggunakan axios.semua boleh menyelesaikan masalah, tetapi anda tidak boleh selalu menambah kaedah semua setiap kali, yang menyusahkan
konfigurasi aksios

import axios from 'axios'
import store from '../vuex/'
import { Notification } from 'element-ui'
// import router from '../routers'
// axios 配置
axios.defaults.timeout = 10000
axios.defaults.baseURL = '/api/'
// http request 拦截器
axios.interceptors.request.use(config => {
  if (store.state.token) {}
  return config
}, err => {
  return Promise.reject(err)
})

// 后台无返回success因此修改之前的拦截器规则,直接返回数据
// http response 拦截器
axios.interceptors.response.use(response => {
  console.log(response)
  if (response.data.status === 200 || response.data.code === 200) {
    return response.data.data
  } else {
    Notification.error(response.statusText)
    return response.data
    // return Promise.reject(response.statusText)
  }
})
export default axios

konfigurasi api (terdapat beberapa API seperti berikut, tidak semua disiarkan)

// 1. 产品系列 :: 列表
export const getProductType = params => {
  return axios.get(`/product/type/list`, params)
}

Hubungi vuex di halaman

  store.dispatch('getProductStatus')
  store.dispatch('getProductStyle')
  store.dispatch('getProductType')

konfigurasi vuex

import {getProductStyle, getProductStatus, getProductType} from '@/http/api'
const state = {
  panelIsShow: false,
  dict: {
    statusDict: [],
    styleDict: [],
    typeDic: []
  }
}
const mutations = {
  SET_PANEL_SHOW (state, data) {
    state.panelIsShow = data
  },
    // 获取产品募集状态字典
  GET_DICT_STATUS (state, dict) {
    state.dict.statusDict = dict
  },
  // 获取产品风格字典
  GET_DICT_STYLE (state, dict) {
    state.dict.styleDict = dict
  },
  // 获取产品系列字典
  GET_DICT_TYPE (state, dict) {
    state.dict.typeDict = dict
  }
}
const actions = {
  // 产品风格
  async getProductStyle ({commit}) {
    let data = await getProductStyle()
    commit('GET_DICT_STYLE', data)
  },
  // 产品募集状态
  async getProductStatus ({commit}) {
    let data = await getProductStatus()
    commit('GET_DICT_STATUS', data)
  },
  // 产品系列
  async getProductType ({commit}) {
    let data = await getProductType()
    commit('GET_DICT_TYPE', data)
  }
}
const getters = {
  panelIsShow: state => state.panelIsShow,
  dict: (state) => state.dict
}
export default {
  state,
  getters,
  actions,
  mutations
}
大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

membalas semua(2)
滿天的星座

Tidak boleh.

Siarkan kod.

Cara penulisan sebegini pasti akan dicover

刘奇

Jika anda tidak menggunakan kaedah semua, sudah tentu anda tidak boleh menjamin pesanan, dan data sudah tentu akan ditimpa.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan