x***@outlook.com
x***@outlook.com
  • 发布:2025-05-13 10:43
  • 更新:2025-05-13 16:36
  • 阅读:13

uni.request中enableChunked 开启后是不是就没办法执行success或者fail之类的回调了

分类:uni-app
import { useUserStore } from '@/stores'  
const userStore = useUserStore()  

// 定义请求地址 - localhost  
export const BASE_URL = "http://192.168.130.25:3000/prod-api"  
// 封装请求方法  
const request = (obj) => {  
    obj.url = obj.url || ''; // 请求路径  
    obj.method = obj.method || 'GET'; //请求方式  
    obj.data = obj.data || {}; //请求携带的数据  
    obj.header = obj.header || 'application/json'; //请求头信息 content-type  
    obj.loading = obj.loading === false ? false : true; //是否显示请求加载中  
    obj.requestTime = obj.requestTime || 500; //多久时间内完成网络请求,则不显示提示框  
    obj.enableChunked = obj.enableChunked === true;  
    obj.responseType = obj.responseType || 'text';  

    let loadingStatus = true;  
    let requestTask;  
    //定义网络请求如果在一定时间内没有完成,则显示加载中提示框,默认时间为:500毫秒  
    setTimeout(() => {  
        if (loadingStatus && obj.loading) {2  
            uni.showLoading({  
                title: "加载中",  
                mask: true  
            })  
        }  
    }, obj.requestTime)  
    //返回Promise对象  
    const promise = new Promise((resolve, reject) => {  
        requestTask = uni.request({  
            url: BASE_URL + obj.url,  
            method: obj.method,  
            data: obj.data,  
            enableChunked: obj.enableChunked,  
            responseType: obj.responseType,  
            header: {  
                'Content-Type': obj.header,  
                'Authorization': `Bearer ${userStore.userToken}`  
            },  
            success: res => {  
                if(res.data.code !== 401){  
                    resolve(res.data);  
                } else {  
                    userStore.logOut()  
                }  
            },  
            fail: err => {  
                reject(err);  
            },  
            complete: () => {  
                if (loadingStatus && obj.loading) {  
                    uni.hideLoading();  
                }  
                loadingStatus = false;  
            }  
        })  
    })  
    promise.requestTask = requestTask  
    return promise;  
}  
export default request;

request请求的封装

2025-05-13 10:43 负责人:无 分享
已邀请:
DCloud_App_Array

DCloud_App_Array

success需要等传输完成才会触发。

要回复问题请先登录注册