Замедление некоторых Javascript - PullRequest
1 голос
/ 21 июня 2010

У меня большой список инструкций, которые мне нужно выполнять последовательно, но медленно. Один каждые десять миллисекунд или около того. Я думаю о структуре данных типа очереди, но не знаю, как поступить.

1 Ответ

4 голосов
/ 21 июня 2010

Вы, вероятно, хотите использовать таймер для этого. Если бы вы просто поместили цикл задержки в код, результатом было бы только то, что для выполнения кода потребовалось больше времени, но окончательный результат будет отображаться сразу после завершения кода.

Вы можете использовать методы setTimeout или setInterval. Пример:

function(){

  var instructions = [
    function() { /* do something */ },
    function() { /* do something */ },
    function() { /* do something */ },
    function() { /* do something */ }
  ];

  var index = 0;

  var handle = window.setInterval(function() {
    if (index < instructions.length) {
      instructions[index++]();
    } else {
      window.clearInterval(handle);
    }
  }, 10);

}();
...