0

我猜这应该很简单,但我一生都无法找到如何去做。

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

例如;

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

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

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

4

2 回答 2

0

看看queue()jQuery的功能。http://api.jquery.com/queue/

另一个有用的来源:jQuery 中的队列是什么?

于 2013-07-25T12:12:11.570 回答
0

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

经过多次调试后,通过将定义 SQL 语句变量的位置从 db.transaction 函数的外部移动到内部,该问题得到了解决。

不太清楚为什么这会进一步影响代码,但它解决了 $.each 中的函数不同步触发的问题。

于 2013-07-25T14:23:56.453 回答