【发布时间】:2018-11-10 16:51:37
【问题描述】:
我正在将文件上传到服务器,并希望在所有文件上传完成后切换一些按钮。这些文件在.each 中上传,因此代码应该在此之后运行。我一直在研究这个,发现.each 是同步的,所以如果我把代码放在.each 之外,它应该可以工作,但它不起作用。
我想知道这是否是因为在 .each 中有一个 ajax 调用。
我还看到了在循环时计数的示例,并且只是在最后一次迭代中调用代码,但我想知道是否有更简洁的方法来执行此操作。
当前的基本代码 - 不工作
$.each( function () {
...
});
$("#btnNext").removeAttr("hidden") //want this to run after
我还尝试了一个在控制台中出错的承诺
$.each( function () {
...
}).promise().done(function() {
$("#btnNext").removeAttr("hidden")
});
【问题讨论】:
-
@Liam 他没有尝试返回任何东西,只是等待它们全部完成。
标签: jquery