关于vue发起多次axios请求问题(请求链问题)

我有一个这样的需求,就是当vue发起第一次请求返回的数据再作为第二次请求的参数,这怎么实现呢?

阅读 7.8k
1 个回答

直接在请求回调函数里写,axios Supports the Promise API axios

一种方式:

isLogin ({ commit }, { param }) {
    Vue.http.get(getUri('loginAPI', 'login'), {
      params: param
    })
      .then( response => {
        const data = response.data
        let userParam = {}
        if( data.code){ 
          this.dispatch('getUserInfoFn',{ //再次派发action
            userParam:data.number
          })
        }
      })
      .catch(response => {})
  },
getUserInfoFn({commit},{userParam}){
    Vue.http.get(url, {
        params: param
      })
      .then( json => {
        const data = json.data
      })
      .catch( json => {})
}

还有一种方式
promise
promise

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题