当我的$ .each语句看起来像这样:
$.each($(".permissions"), function (index, element) {
... }).promise().done(function () {...});
它有效。
当我的$ .each语句看起来像这样:
$.each(dataObj, function (index, element) {
}.promise().done(function () {...});
返回错误:
$。each.promise不是函数
为什么?作为解决方法,我该怎么办?
在done函数中有一个ajax脚本,我只想在$ .each之后运行以避免竞争条件。
答案 0 :(得分:3)
您根本不需要.promise()
。 $.each
是同步,因此永远不会成为“竞争条件”。在$.each
完成之前,代码不会继续。
只需在$.ajax
完成后运行$.each
来电。
$.each(dataObj, function (index, element) {
});
$.ajax({});