用setInterval实现多个倒计时,代码如下:
//接口返回responseData,timeLeft是接口返回的剩余时间,是一个以秒为单位的整数var groupOn = responseData.groupOnfor (let i = 0; i < 2; i++) { var timeLeft = groupOn[i].timeLeft setInterval(() => { timeLeft-- console.log(timeLeft) }, 1000) // setInterval(function (timeLeft) { // timeLeft-- // // console.log(timeLeft) // }, 1000, timeLeft)}
我想要的效果是setInterval每秒打印两个timeLeft,比如两个timeLeft初始值分别为10和20,那么每秒打印一次,值递减,第一种写法打印的都是第二个timeLeft的值,第二种写法分别打印了两个timeLeft,但是值只递减了一次,应该怎么写才能实现我想要的效果?感觉是闭包的问题,但还是不知道怎么改写
喵喵时光机
相关分类