Espruino:Справочник по API/Глобальные методы, переменные и объекты/Функция setInterval(): различия между версиями
Myagkij (обсуждение | вклад) (Новая страница: «{{Espruino/Панель перехода}} {{Перевод от Сubewriter}} {{Myagkij-редактор}} =<ref>[]</ref>= <syntaxhighlight lang="javascri...») |
Myagkij (обсуждение | вклад) Нет описания правки |
||
Строка 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 будет просто зря расходовать электроэнергию в ожидании нужного момента.
См.также
Внешние ссылки