如何在每次 _.each 循环迭代中添加延迟,以使内部函数的调用间隔为 1 秒钟?
_.each(this.rows, function (row, i) {
row.setChars(msg[i] ? msg[i] : ' ');
});
如何在每次 _.each 循环迭代中添加延迟,以使内部函数的调用间隔为 1 秒钟?
_.each(this.rows, function (row, i) {
row.setChars(msg[i] ? msg[i] : ' ');
});
你不需要额外的IIFE
_.each(this.rows, function (row, i) {
setTimeout(function () {
row.setChars(msg[i] ? msg[i] : ' ');
}, 1000 * i);
});
因为您没有在显式的 for
循环中执行它。
找到了答案,只需在 _.each 循环内添加一个自调用函数,并设置一个基于循环迭代次数不断增加的超时时间。
这里是一个可工作的示例(已编辑以去除冗余):
_.each(this.rows, function (row, i) {
setTimeout(function () {
row.setChars(msg[i] ? msg[i] : ' ');
}, 1000 * i);
});