排队jQuery $ .each迭代

时间:2013-07-25 12:09:58

标签: jquery queue each

我猜这应该很简单,但我不能为我的生活找到怎么做。

我有一个循环,它运行许多产品,并针对每个产品运行一个函数。除其他外,此功能使用产品信息更新表格。但是,我需要等到'runThisFunction()'完成,然后再转到下一个产品,再次运行该函数。

例如;

$.each(data.products, function(id, v) {
    runThisFunction(v);
});

在runThisFunction()内部,它从LocalStorage数据库中提取有关产品的信息,但由于它运行得如此之快,它会在完成它需要做的事情之前转移到下一个产品。我可以添加延迟,但我不想故意放慢速度。

我知道这应该很简单......

2 个答案:

答案 0 :(得分:0)

查看jQuery的queue()函数。 http://api.jquery.com/queue/

另一个有用的来源:What are queues in jQuery?

答案 1 :(得分:0)

如前所述,在runThisFunction()中,它正在访问产品的LocalStorage数据。

经过大量调试后,通过从db.transaction函数外部移动到定义SQL语句变量的位置来修复问题。

不太确定为什么这会导致代码进一步受到影响,但它解决了$ .each中的函数问题没有同步触发。