【发布时间】:2021-12-04 22:32:40
【问题描述】:
我正在尝试迭代一个字符串数组,每一步迭代都有几毫秒的延迟。像下面这样 -
var l = ['a', 'b', 'c'];
var delay = 5000;
for(var i = 0;i < l.lenght;i++) {
document.querySelectorAll("a[title='" + l[i] + "']")[0].parentNode.children[0].click();
delay = 5000 + Math.floor(Math.random() * 5000) + 1;
**<WAIT for 'delay' number of milliseconds**
}
我已经能够使用 setTimeout() 方法将代码转换为下面的代码 -
var i = 0;
var interval = setInterval(function() {
if (i < l.length) {
document.querySelectorAll("a[title='" + l[i] + "']")[0].parentNode.children[0].click();
i++;
}
else {
clearInterval(interval);
}
//delay = 5000 + Math.floor(Math.random() * 5000) + 1); **NOT SURE where to change the delay variable**
}, delay);
但是一旦 setTimeout 开始,延迟变量本质上就变成了一个常数。每次迭代如何改变延迟变量?
【问题讨论】:
标签: javascript