axios异步请求的两种写法

文章对比了使用async/await和Promise对象的.then().catch()两种方式来处理HTTP请求。在async函数中,通过await关键字等待axios的响应,然后处理数据或捕获错误。而在Promise链式调用中,.then()接收成功响应,.catch()处理错误。两种方法都用于更新tableData的值,并显示错误信息。
摘要由CSDN通过智能技术生成

1、async 、await写法

async function sendRequest(type:string,url:string,param?:any,tableData?:Ref) {

    try {
        const response = await axios({
            url: `${baseUrl}${url}`,
            method: type,  //请求方式:get、post等
            params: param,
            paramsSerializer: params => {
                return stringify(params,{indices:false,allowDots:true}); 
            }
        });
        if(undefined !== tableData){
            tableData.value = response.data;
        }
        // return response.data;

    } catch (error) {
        ElMessage(String(error));
    }
}

2、promise对象的.then   .catch写法

/**
 * type:指定访问类型,post,get,……
 * url:传入访问地址
 * param:访问参数,可选
 * tableData:传入的展示数据响应对象,可选
 */
function sendRequest(type: string, url: string, param?: any, tableData?: Ref) {
    axios({
        url: `${baseUrl}${url}`,
        method: type,
        params: param,
        paramsSerializer: params => {
            return stringify(params, { indices: false, allowDots: true });
        }
    }).then((response) => {
        if (undefined !== tableData) {
            tableData.value = response.data;
        }
    }).catch(err=>{
        ElMessage(String(err));
    })
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值