带有setTimeout并重新创建forEach的异步JavaScript挑战问题

问题描述 投票:0回答:1

请帮助!我一直在尝试独自解决此问题,但请继续努力。

重新创建内置数组方法forEach-编写一个将数组arr和回调函数cb作为参数的函数。 forEach函数将通过arr进行迭代,将每个元素及其索引作为参数传递给cb。创建一个名为delays的变量,并为其分配一个具有数字200、500、0和350(按此顺序)的数组。编写一个函数delayLog,该函数将delayTime和索引i作为输入。调用该函数时,应在记录到控制台“打印元素i”(用“ i”替换为传入的实际索引)之前等待delayTime毫秒。放在一起,使用创建的forEach函数在delays数组的每个项目上运行delayLog函数。

这是我到目前为止所拥有的。不太确定在哪里应用setTimeout。谢谢!!

function forEach(array,cb){
  for(let i=0;i<array.length;i++){
    console.log("printing element",i)
  }
}

let delays=[200,500,0,350];

function delayLog(delayTime,cb){
setTimeout(forEach(delayTime),cb);
}

delayLog(delays,i=>i)

从控制台:

printing element 0
app.js:330 printing element 1
app.js:330 printing element 2
app.js:330 printing element 3

请帮助!我一直在尝试自己解决这个问题,但是一直在努力。重新创建内置的数组方法forEach-编写一个将数组,arr和回调作为参数的函数...

javascript asynchronous foreach settimeout csx
1个回答
1
投票

这是您想要的:

© www.soinside.com 2019 - 2024. All rights reserved.