想请大家帮忙看看这段封装的接口请求,有个问题想请大家帮忙看看,感谢?

export const request = (options = {}) => {
    //异步封装接口,使用Promise处理异步请求
    return new Promise((resolve, reject) => {
    
            let rd3_key = uni.getStorageSync('rd3_key') ? uni.getStorageSync('rd3_key') : ''
            
            // 发送请求
            uni.request({
                url: baseUrl + options.url || '', //接收请求的API
                method: options.method || 'GET', //接收请求的方式,如果不传默认为GET
                data: options.data || {}, //接收请求的data,不传默认为空
                data: {
                    ...options.data,
                    rd3_key
                },
                header: {
                    'content-type': 'application/x-www-form-urlencoded', //修改此处即可
                }
            }).then(data => {
                let [err, res] = data;
                // if(res.data.code == 4001){
                //     post_login()
                // }
                
                resolve(res);
            }).catch(error => {
                
                reject(error);
            })
        
    
    })
}

我想在上面uniapp 封装的请求里,加一个响应拦截器,如果res.data.code == 4001 就需要请求一个接口post_login() 请问如何去加这个响应拦截,谢谢大家 简单说明下加的位置和相关代码也可以,谢谢

阅读 1.1k
1 个回答

就加在你注释掉的地方就行,把resolve(res);和reject也放一份在post_login的回调里

if(res.data.code == 4001){
    return post_login().then(resolve, reject)
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题