axios配置请求拦截器添加token


    <script>

        // 添加请求拦截器

        axios.interceptors.request.use((config) => {

            return new Promise(resolve, reject => {

                getAccessToken().then(res => {

                    if (res) {

                        config.headers.Authorization = res;

                        resolve(config);

                    } else {

                        reject("");

                    }



                }).catch(err => {

                    resolve(config);

                })

            });

        }, err => {

            return Promise.reject(err);

        });

        function getAccessToken() {

            return new Promise(resolve, reject => {

                let accessToken = window.localStorage.getItem("accessToken");

                let refreshToken = window.localStorage.getItem("refreshToken");

                if (accessToken) {

                    // 使用刷新token重新获取token

                    /*

                    ********************  

                    */

                    resolve(accessToken);

                } else {

                    reject("get access token fail");

                }

            });

        }



    </script>

考虑到使用到了刷新token用于更新token,而获取新的token是异步获取的,之前直接返回config,可能会导致token没有带上就去请求,所以返回promise

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值