axios.interceptors中的死循环

    async getSessionID() {
        let params = { user_type: 3 }
        return http('get', '/api/webConnect', params);
    },
axios.interceptors.request.use(
   async config => {

        let sessionID = localStorage.getItem("sessionID")

        if (!sessionID) {
            // api.getSessionID().then(async(res) => {
            //     console.log(res)
            //     localStorage.setItem("sessionID", res.data.sessionid)
            //     config.params.sessionid = res.data.sessionid
            // })

            let resp = await api.getSessionID()
            sessionID = resp.data.sessionid;
            localStorage.setItem('sessionID',sessionID)
        }
        config.params.sessionid = sessionID

        if (config.method === 'post') {
            config.data = Qs.stringify(config.data);
        }
        // store.commit("isloading", { "isloading": true })
        return config;
    },
    err => {
        return Promise.reject(err);
    }
);

发送请求之前,判断有无token,如果没有就去请求token,把token作为参数发送到后端;现在这一步死循环,网页崩溃啦

阅读 4.8k
1 个回答
axios.interceptors.request.use(
    config

config前面加上async

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