一、次方法失效

list.forEach(obj=>{
        setTimeout(()=>{
          console.log(obj)
        },1000)
})

二、有效的方法

list.forEach((obj,index)=>{
        setTimeout(()=>{
          console.log(obj)
        },1000*index)
})

三、其次还可以使用睡眠

 // 睡眠1秒   n=1000
    async sleep(n) {
      var start = new Date().getTime();
      while (true) {
        if (new Date().getTime() - start > n) {
          break;
        }
      }
    },

四、js的的使用

for(let i=0;i<list.length;i++){
        (function (a) {
          setTimeout(() => {
            console.log(list[a]);
          }, 1000 * i);
        })(i)
      }
Logo

前往低代码交流专区

更多推荐