gpt4 book ai didi

jquery - 循环,每次迭代仅在 jQuery 延迟之后发生,何时/然后可能没有递归?

转载 作者:行者123 更新时间:2023-12-01 00:28:43 25 4
gpt4 key购买 nike

我想在循环中调用 jQuery 延迟函数,但每次迭代都应该使用延迟 when() 等待上一个迭代完成

  function (num_of_iterations) {

var arr = [];

for (var i = 1; i < num_of_iterations; ++i) {
arr.push($.getJSON( ... 1 ... ));
arr.push($.getJSON( ... 2 ... ));
...

$.when.apply($, arr).then(function() {
// somehow do the next iter. only now that all the asynch getJSON's are done
});
}
return;
}

现在当然,由于 getJSON 是异步的,因此所有迭代中的所有请求实际上都会在调用任何 when 之前发送。

我意识到我可以通过调用一个函数来使用递归来实现此目的,该函数将我在 then 中包含的内容包装起来。

但是我想知道我是否缺少一些技术来代替递归。我总是担心递归在将来的某个时候会耗尽堆栈。参数num_of_iterations可能非常大。

我可以使用 pipe() 来实现此目的吗?我在理解它的文档及其所有关于过滤的讨论时遇到了很多麻烦......

最佳答案

我认为在这种情况下你可以使用管道链接。看看这个工作 jsfiddle 并让我知道这是否或多或少是您正在寻找的。 http://jsfiddle.net/tchaffee/Df3ay/3/

关于jquery - 循环,每次迭代仅在 jQuery 延迟之后发生,何时/然后可能没有递归?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8931563/

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