gpt4 book ai didi

javascript - 如何使用 jquery 循环我的 ajax 请求 n 次?

转载 作者:行者123 更新时间:2023-11-30 08:26:31 24 4
gpt4 key购买 nike


我想按顺序调用 ajax 请求 3 次(请求具有相同的 URL),如下所述:
请求 1 -> 完成 -> 请求 2 -> 完成 -> 请求 3 -> 完成 -> 做某事

在每个回调函数中,如果有任何一个条件正确,循环就会结束。我可以编写简单的脚本来完成,例如:

$.ajax().then(function () {
if (condition) {}
else {
$.ajax().then(function () {
if () else () {
$.ajax().then(function () {
if () else ();
});
}
});
}
});

但如果不是只有 3 次(ex n 次),它看起来太愚蠢了。
我如何使用 Promise 发出许多请求?
非常感谢!

最佳答案

使用 vanilla promises,“递归函数”将起作用。只需提供每次递归调用的次数(加一)。如果还有其他工作要做,递归函数本身将返回一个新的 promise 。

var maxCalls = 3

function makeCall(timesCalled) {
// we're done - don't return a chained promise
if (timesCalled > maxCalls)
return;

return $.ajax().then(function () {
// likewise - don't return chained promise
// (it may make sense to move this up outside)
if (condition)
return;

// return the next promise, or not if done
return makeCall(timesCalled + 1);
});
}

var promiseResolvedAtEnd = makeCall(1);

关于javascript - 如何使用 jquery 循环我的 ajax 请求 n 次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44712090/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com