当我的 $.each 语句如下所示时:
$.each($(".permissions"), function (index, element) {
... }).promise().done(function () {...});
它有效。
当我的 $.each 语句如下所示时:
$.each(dataObj, function (index, element) {
}.promise().done(function () {...});
返回错误:
$.each.promise 不是函数
这是为什么呢?我可以采取什么解决方法?
done 函数中有一个 ajax 脚本,我只想在 $.each 之后运行它以避免竞争条件。
最佳答案
这里根本不需要.promise()
。 $.each
是同步,因此这里永远不会出现“竞争条件”。在 $.each
完成之前,代码不会继续。
只需在 $.each
完成后运行 $.ajax
调用即可。
$.each(dataObj, function (index, element) {
});
$.ajax({});
关于javascript - $.each 功能因对象类型而异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22309454/