我正在为网络自动化制作一个Chrome扩展。第一步是以分隔符格式从服务器获取站点和指令列表。 一旦获得列表,它被分成一个数组,我称之为“siteArray”。Web自动化Chrome扩展(Javascript)的延迟逻辑
然后将站点数组分成另一个数组,我称之为“instructionsArray” ,在数组中的这些项中,其中一个是站点上的持续时间,即instructionsArray [5]的值为“10”秒。 {持续时间不是所有的网站一样}
我的问题是如何延缓(执行长)
一种实现,我发现使用睡眠功能,其结果是低效率的,因为它只是长 for循环
见代码:
function sleep(milliseconds) {
var start = new Date().getTime();
for (var i = 0; i < 1e7; i++) {
if ((new Date().getTime() - start) > milliseconds){
break;
}
}
}
然后:
getlist();
for each(siteArray){
instructionsArray = siteArray[count].split(delimiter);
gotoUrl(instructionsArray[1]);
sleep(instructionsArray[5]);
count++;
}
凡
- 的GetList()获取的指令列表,并分成了 siteArray。
- gotoUrl()更改网址。
- sleep()运行睡眠功能。
有没有更好的方法来实现持续时间/等待/延迟。
可能重复[睡眠/暂停/等待在Javascript](http://stackoverflow.com/questions/7854820/sleep-pause-wait-in-javascript) – wOxxOm
@wOxxOm使用setTimeout对我没有奏效。因为循环中的设置超时将同时添加要访问的url1和url2 –