Javascript: Виклик функції через певний проміжок часу


82

У JavaScript, як я можу викликати функцію через певний інтервал часу?

Ось моя функція, яку я хочу запустити:

function FetchData() {
}

3
setTimeout()? setInterval()?
Пойнті

Відповіді:


166

Ви можете використовувати JavaScript Timing Events для виклику функції через певний проміжок часу:

Це відображає вікно попередження через 3 секунди:

setInterval(function(){alert("Hello")},3000);

Ви можете використовувати два методи часових подій у javascript.ie

  1. setInterval(): виконує функцію, знову і знову, через визначені інтервали часу
  2. setTimeout() : виконує функцію один раз, після очікування заданої кількості мілісекунд

31

Виконати функцію FetchData() один раз через 1000 мілісекунд:

setTimeout(FetchData,1000);

FetchData() Повторно виконувати функцію кожні 1000 мілісекунд:

setInterval(FetchData,1000);

2
Я вважаю, що у випадку 'setInterval ()' круглі дужки для імені функції, тобто 'FetchData', не повинні бути присутніми, оскільки вона запускає функцію лише один раз. setInterval (FetchData, 1000) видається більш дійсним. Я перевірив це в хромі.
Сауміл

6
Це неправильно. У setTimeout FetchData () буде запускатися відразу. Вам потрібно обернути його такою функцією: setTimeout (function () {FetchData ();}, 1000);
thatOneGuy

8

звучить так, ніби ви шукаєте setInterval . Це так просто:

function FetchData() {
  // do something
}
setInterval(FetchData, 60000);

якщо ви хочете зателефонувати лише раз, є setTimeout .


0

setTimeout (func, 5000);

- вона викличе функцію з назвою func () через вказаний час. тут 5000 мілі секунд, тобто) через 5 секунд


0

Час вийшов:

setTimeout(() => {
   console.log('Hello Timeout!')
}, 3000);

Інтервал:

setInterval(() => {
   console.log('Hello Interval!')
}, 2000);
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.