我猜这应该很简单,但我不能为我的生活找到怎么做。
我有一个循环,它运行许多产品,并针对每个产品运行一个函数。除其他外,此功能使用产品信息更新表格。但是,我需要等到'runThisFunction()'完成,然后再转到下一个产品,再次运行该函数。
例如;
$.each(data.products, function(id, v) {
runThisFunction(v);
});
在runThisFunction()内部,它从LocalStorage数据库中提取有关产品的信息,但由于它运行得如此之快,它会在完成它需要做的事情之前转移到下一个产品。我可以添加延迟,但我不想故意放慢速度。
我知道这应该很简单......
答案 0 :(得分:0)
查看jQuery的queue()
函数。 http://api.jquery.com/queue/
另一个有用的来源:What are queues in jQuery?
答案 1 :(得分:0)
如前所述,在runThisFunction()中,它正在访问产品的LocalStorage数据。
经过大量调试后,通过从db.transaction函数外部移动到定义SQL语句变量的位置来修复问题。
不太确定为什么这会导致代码进一步受到影响,但它解决了$ .each中的函数问题没有同步触发。