如何在underscore.js中的_.each循环的每次迭代中添加延迟?

时间:2014-07-01 03:55:09

标签: javascript loops underscore.js

如何在_.each循环的每次迭代中添加延迟,以便将内部函数的调用空间缩短1秒?

  _.each(this.rows, function (row, i) {
      row.setChars(msg[i] ? msg[i] : ' ');
  });

2 个答案:

答案 0 :(得分:11)

您不需要额外的IIFE

_.each(this.rows, function (row, i) {
    setTimeout(function () {
        row.setChars(msg[i] ? msg[i] : ' ');
    }, 1000 * i);
});

因为您没有在明确的for循环中执行此操作。

答案 1 :(得分:0)

找到答案,只需在_.each循环中添加一个自调用函数,其超时将根据循环的迭代次数继续扩展。

这是一个工作示例(编辑删除冗余):

  _.each(this.rows, function (row, i) {
      setTimeout(function () {
          row.setChars(msg[i] ? msg[i] : ' ');
      }, 1000 * i);
  });