Признавая, что метод setTimeout()
является асинхронным и, следовательно, начиная с этого:
for (var i = 1; i <= 3; i++) {
(function(i) {
setTimeout(function() {
console.log(i + " second(s) elapsed");
}, i * 1000);
})(i);
}
Я бы хотел заменить console.log()
с чем-то с эффектом
, вызываемые поочередно, каждый с задержкой, скажем, 5 минут,но нужна помощь, чтобы заменить его, не ломая его :-) Поэтому я спрашиваю.
Это была одна ранняя (но неудачная ) попытка:
i=0;
while(i < 100)
{
setTimeout(function(){ window.open("https://www.bbc.com","_self") }, 3000);
setTimeout(function(){ window.open("https://www.cnn.com","_self") }, 3000);
i++
}
tldr;
также подумал об использовании switch()
оператора
См. Также:
Как сделатьsetTimeout в цикле while выполняется последовательно в JavaScript?
Закрытие JavaScript внутри циклов - простой практический пример
Вызов двух методов поочередно через каждые 5 минут.