jquery ajax 分批同步请求

1,代码
请求失败是,最多重试3次

function sendRequest(data, retries = 3) {
    return new Promise((resolve, reject) => {
        function attemptRequest(remainingRetries) {
            $.ajax({
                url: 'your-url', // 替换成实际请求的 URL
                type: 'POST',
                data: data
            })
            .done((response) => {
                console.log('请求成功,返回数据:', response);
                resolve(response);
            })
            .fail(() => {
                if (remainingRetries > 0) {
                    console.log(`请求失败,剩余重试次数: ${remainingRetries}. 进行重试...`);
                    attemptRequest(remainingRetries - 1);
                } else {
                    reject('请求失败,已达到最大重试次数');
                }
            });
        }

        attemptRequest(retries);
    });
}

function executeAfterAllRequests() {
    console.log('所有请求完成后执行的函数');
}

function batchRequests() {
    const requestData = [data1, data2, data3, data4, data5]; // 替换成实际请求的数据
    let promise = Promise.resolve(); // 初始为已解决的 Promise

    requestData.forEach(data => {
        promise = promise.then(() => sendRequest(data))
                         .catch(error => {
                             console.error('请求失败:', error);
                             // 可以选择继续执行下一个请求或停止
                         });
    });

    promise.then(() => {
        executeAfterAllRequests();
    }).catch(error => {
        console.error('批量请求失败:', error);
    });
}

batchRequests();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值