Я не уверен, почему функция main1 не работает, но я вижу пару проблем:
Реализация паузы, например myPause
, блокирует выполнение и тратит время процессора,Вы должны использовать что-то вроде setTimeout
.
Вам следует избегать использования eval
, подробнее см. в этом вопросе .
Почему внешний for
в myPause
?ждет дважды?
Я не уверен, чего вы хотите достичь, но если вы хотите что-то вроде:
в секунду 1,звоните myFunc_1
в секунду 2, звоните myFunc_2
и т. д. (и ходите по списку без остановки)
Вы можете сделать что-то вроде этого:
function myFunc1() { console.log('called myFunc1') }
function myFunc2() { console.log('called myFunc2') }
function myOtherFunc() { console.log('called myOtherFunc') }
const myFunctions = [
myFunc1,
myFunc2,
myOtherFunc,
];
let counter = 0;
function runMyNextFunction() {
let func = myFunctions[counter];
func();
counter += 1;
if (counter >= myFunctions.length) {
counter = 0;
}
}
setInterval(runMyNextFunction, 1000);