0

У меня есть функция. Эту функцию надо вызвать 10 раз, каждый раз через 10 секунд. Я пробовал сделать это так, но она выводит всего один раз:

for (var i = 0; i <=10; i++) {
    setTimeout(funcBefore, 1000);
}
Visman
  • 16,518
  • 8
  • 26
  • 56
ttt
  • 31

3 Answers3

1

Альтернативный вариант, показывает итерацию 10 раз через каждые 10 секунд

function funcBefore(){
  console.log('text');
}

count = 0;

intervalId = setInterval(function(){ count++; if(count == 10){ clearInterval(intervalId); } funcBefore(); }, 1000);

lazyproger
  • 1,067
0

function funcBefore() {
  console.log("funcBefore");
}

setTimeout( function() { for (var i = 0; i <= 10; i++) funcBefore(); }, 10000 );

  • @Visman, через одну же – Grundy Nov 18 '16 at 11:35
  • @Grundy, точно, через 1 :) Вот думаю, вопрос я правильно отредактировал или нет. – Visman Nov 18 '16 at 11:36
  • Все равно 1 раз выводиться. Мне надо что бы выводился 10 раз. Например функция выводить слова "админ". Результат должен быть таким: админ админ админ админ админ админ... – ttt Nov 18 '16 at 11:47
  • @ttt нажмите кнопку "Выполнить код" и посмотрите на 10 выводов строки funcBefore – Anton Shchyrov Nov 18 '16 at 11:49
  • там же все сразу выводиться. Мне надо что бы все по очередью выполнился – ttt Nov 18 '16 at 11:53
0

Через 10 секунд запускается цикл из 10 итераций с вызовом функции

function funcBefore (i) {
    console.log(i);
}

setTimeout(function() {
    for (var i = 0; i < 10; i++) {
        funcBefore(i);
    }
}, 10000);
  • Если я правильно понял вопрос (до редактирования). – Николай Смекалов Nov 18 '16 at 11:39
  • Все равно 1 раз выводиться. Мне надо что бы выводился 10 раз. Например функция выводить слова "админ". Результат должен быть таким: админ админ админ админ админ админ... – ttt Nov 18 '16 at 11:47
  • Каждый раз 10 секунд! – lazyproger Nov 18 '16 at 11:47