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();