【发布时间】:2017-04-12 10:20:33
【问题描述】:
我遇到了异步 JS 函数的问题。好吧,我有一个函数可以一个一个地插入元素。这行得通。但我想在所有.load()-functions 完成后继续。
我实现Deferred() 部分的方式显然是错误的,但我不知道如何实现这一点。
注意:为了更清晰,我已经简化了代码。
var d = new jQuery.Deferred();
var i = index;
function loadView() {
if(i > -1 && i < array.length) {
if(!jQuery.contains(document.documentElement, $(selector)[0])) {
/* do stuff here */
panel.load(myPHPfile, function() {
$dom.append($(selector));
i++;
if(i < array.length) {
loadView();
d.resolve();
}
});
}
}
}
loadView();
jQuery.when(d).then(function() {
/* when all elements are insert, do something */
});
感谢您的帮助!
【问题讨论】:
标签: javascript ajax asynchronous load jquery-deferred