排队jQuery$。每次迭代

排队jQuery$。每次迭代,jquery,queue,each,Jquery,Queue,Each,我猜这应该很简单,但我一辈子都不知道该怎么做 我有一个each循环,它运行在许多产品中,并针对每个产品运行一个函数。除其他功能外,此功能使用产品信息更新表。但是,我需要等待“runThisFunction()”完成,然后再转到下一个产品并再次运行该函数 比如, $.each(data.products, function(id, v) { runThisFunction(v); }); 在runThisFunction()内部,它从本地存储数据库中提取有关产品的信息,但由于运行速度太快

我猜这应该很简单,但我一辈子都不知道该怎么做

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

比如,

$.each(data.products, function(id, v) {
    runThisFunction(v);
});
在runThisFunction()内部,它从本地存储数据库中提取有关产品的信息,但由于运行速度太快,因此在完成需要执行的操作之前,它会转移到下一个产品。我可以增加延迟,但我不想故意放慢速度


我知道这应该很简单…

看看jQuery的
queue()
函数


另一个有用的来源:

如前所述,在runThisFunction()中,它访问产品的本地存储数据

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


不太清楚为什么这会对代码产生进一步的影响,但它修复了$内函数的问题。每个函数都不同步启动。

运行此函数的代码是什么?也许有一种方法可以使它同步。在我看来,您没有异步进程,因此不需要对您的函数进行排队。您能提供一个JSFIDLE示例和相关代码吗?您确定
data.products[id]
是您所期望的吗?您可以使用…
$.each(data.products,function(id,v){runThisFunction(v);})
我只能假设
runThisFunction
在其内部执行异步操作,因为上面的代码是同步的,并对函数调用进行排队。这个问题与动画无关。不,但它解释了
queue()
的工作原理,这个函数对于回答这个问题很有用。我对它投了赞成票。我同意,这可能是有用的,但它可能应该是一个评论。但队列是用于动画的。如果它们不是,请更新你的答案,解释如何使用它们。有趣的阅读-谢谢Pieter。我怀疑我是否会使用它,但很高兴能学到一些新东西:)