我如何在for Each循环中使用间隔或超时

时间:2019-06-07 21:30:44

标签: javascript node.js

我正在寻找一种简单的方法,使我可以使用这样的示例。 我有一个数组,我遍历该数组,但要等待2秒钟才能转到下一个元素。由于某种原因,我无法使其正常工作。它会等待,然后立即遍历所有元素

var obj = [1,2,3,4,5,6,7,8,9]
  const delay = (amount = number) => {
    return new Promise((resolve) => {
      setTimeout(resolve, amount);
    });
  }
  async function loop() {
  obj.forEach(async(element)=>{

      console.log("hello " + element);
      await delay(3000);
    })
  }

  loop()

1 个答案:

答案 0 :(得分:-2)

let index = 0;
const timer = setInterval(() => {
    if (index === arr.length) {
        clearInterval(timer);
        return;
    }
    console.log(arr[index++]);
}, 3000);

https://jsfiddle.net/5euxf0sj/