Espruino:Справочник по API/Глобальные методы, переменные и объекты/Функция setInterval(): различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
(Новая страница: «{{Espruino/Панель перехода}} {{Перевод от Сubewriter}} {{Myagkij-редактор}} =<ref>[]</ref>= <syntaxhighlight lang="javascri...»)
 
Нет описания правки
Строка 3: Строка 3:
{{Myagkij-редактор}}
{{Myagkij-редактор}}


=<ref>[]</ref>=
=Функция setInterval()<ref>[https://www.espruino.com/Reference#t_l__global_setInterval www.espruino.com - function setInterval]</ref>=


==Синтаксис==


<syntaxhighlight lang="javascript" enclose="div">
function setInterval(function, timeout, args, ...)
</syntaxhighlight>
==Параметры==
* '''function''' – функция или строка, которую нужно выполнить
* '''timeout''' – интервал между вызовами функции (максимум – ''«3153600000000»'', что означает ''100 лет'')
* '''args, ...''' – опциональные аргументы, передаваемые выполняемой функции
==Описание==


Задает функцию обратного вызова (или выполняет код в заданной строке) и интервал (в миллисекундах), с которым она будет вызываться. Эта функция будет вызываться '''ПЕРИОДИЧЕСКИ'''.


Возвращает идентификатор, который затем можно будет передать функции [[Espruino:Справочник по API/Глобальные методы, переменные и объекты/Функция clearInterval()|clearInterval()]].


Например:


<syntaxhighlight lang="javascript" enclose="div">
<syntaxhighlight lang="javascript" enclose="div">
setInterval(function () {
  console.log("Привет мир");
}, 1000);
// или
setInterval('console.log("Привет мир");', 1000);
// оба варианта печатают 'Привет мир' раз в секунду
</syntaxhighlight>


Вы также можете задать дополнительные аргументы, которые будут переданы функции обратного вызова в момент ее выполнения. Например:
<syntaxhighlight lang="javascript" enclose="div">
setInterval(function (a,b) {
  console.log(a+" "+b);
}, 1000, "Привет", "мир");
// печатает 'Привет мир' раз в секунду
</syntaxhighlight>
</syntaxhighlight>
Если вам нужно, чтобы эта функция перестала вызываться, вызовите функцию [[Espruino:Справочник по API/Глобальные методы, переменные и объекты/Функция clearInterval()|clearInterval()]] и в качестве аргумента передайте ей идентификатор (число), возвращенный во время последнего вызова ''setInterval()''.
'''Примечание:''' Если была вызвана [[Espruino:Справочник по API/Глобальные методы, переменные и объекты/Функция setDeepSleep()|setDeepSleep(true)]], и интервал ''больше 5 секунд'', [[Espruino]] может выполнить этот интервал с опозданием ''до 1 секунды''. Это происходит из-за того, что Espruino может просыпаться из режима глубокого сна только раз в секунду – в случае более раннего пробуждения Espruino будет просто зря расходовать электроэнергию в ожидании нужного момента.


=См.также=
=См.также=

Версия от 15:25, 21 ноября 2020

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


Функция setInterval()[1]

Синтаксис

function setInterval(function, timeout, args, ...)

Параметры

  • function – функция или строка, которую нужно выполнить
  • timeout – интервал между вызовами функции (максимум – «3153600000000», что означает 100 лет)
  • args, ... – опциональные аргументы, передаваемые выполняемой функции

Описание

Задает функцию обратного вызова (или выполняет код в заданной строке) и интервал (в миллисекундах), с которым она будет вызываться. Эта функция будет вызываться ПЕРИОДИЧЕСКИ.

Возвращает идентификатор, который затем можно будет передать функции clearInterval().

Например:

setInterval(function () {
  console.log("Привет мир");
}, 1000);
// или
setInterval('console.log("Привет мир");', 1000);
// оба варианта печатают 'Привет мир' раз в секунду

Вы также можете задать дополнительные аргументы, которые будут переданы функции обратного вызова в момент ее выполнения. Например:

setInterval(function (a,b) {
  console.log(a+" "+b);
}, 1000, "Привет", "мир");
// печатает 'Привет мир' раз в секунду

Если вам нужно, чтобы эта функция перестала вызываться, вызовите функцию clearInterval() и в качестве аргумента передайте ей идентификатор (число), возвращенный во время последнего вызова setInterval().

Примечание: Если была вызвана setDeepSleep(true), и интервал больше 5 секунд, Espruino может выполнить этот интервал с опозданием до 1 секунды. Это происходит из-за того, что Espruino может просыпаться из режима глубокого сна только раз в секунду – в случае более раннего пробуждения Espruino будет просто зря расходовать электроэнергию в ожидании нужного момента.

См.также

Внешние ссылки