【发布时间】:2015-11-13 06:58:10
【问题描述】:
请帮忙:
例如,我有 20 个超时,由 window.setTimeout 创建,我希望它们一个接一个地运行:
通话超时 1 => 完成通话超时 2 => 完成通话超时 3 后,依此类推。
一般有函数数组,超时次数不固定。
我的延迟函数:
function someFunction(index) {
console.log("someFunction called, index = " + index);
var $deferred = $.Deferred();
window.setTimeout(function () {
$deferred.resolve();
}, 2000);
return $deferred.promise();
}
for循环:
var $deferred;
$(someArray).each(function (index) {
if (!$deferred) {
$deferred = someFunction(index);
} else {
$deferred.then(function () {
return someFunction(index);
});
}
});
所有其他的都立即运行而不在链中
【问题讨论】:
-
someArray变量有什么用?
标签: jquery settimeout jquery-deferred