我似乎无法得到超时和循环一起工作。如果我删除循环它的工作,或者如果我删除超时它将工作。在一起我会得到一个infinit循环,并且它看起来不像超时函数在while循环内部运行。
任何帮助,将不胜感激!
function doTask (list) {
if (list) {
while (list.length > 0) {
(function(list){
$timeout(function() {
list.splice(0, 1);
console.log("timeout...")
}, 5000);
})(list);
}
}
}
那是因为你改变setTimeout的长度将5秒之后被调用,但将土地涨不获取调用为您的代码将永远不会出来循环 – Rajesh
你真的想才达到什么的? – Sandeeproop
我想循环,直到列表为空,但延迟循环。 –