Espruino:Справочник по API/Глобальные методы, переменные и объекты/Функция setTimeout(): различия между версиями
Myagkij (обсуждение | вклад) (Новая страница: «{{Espruino/Панель перехода}} {{Перевод от Сubewriter}} {{Myagkij-редактор}} =<ref>[]</ref>= <syntaxhighlight lang="javascri...») |
Myagkij (обсуждение | вклад) Нет описания правки |
||
Строка 3: | Строка 3: | ||
{{Myagkij-редактор}} | {{Myagkij-редактор}} | ||
=<ref>[]</ref>= | =Функция setTimeout()<ref>[https://www.espruino.com/Reference#t_l__global_setWatch www.espruino.com - function setWatch]</ref>= | ||
==Синтаксис== | |||
<syntaxhighlight lang="javascript" enclose="div"> | |||
function setWatch(function, pin, options) | |||
</syntaxhighlight> | |||
==Параметры== | |||
* '''function''' – функция или строка, которую нужно выполнить | |||
* '''timeout''' – время до выполнения функции (максимум – ''«3153600000000»'', т.е. ''100 лет'') | |||
* '''args, ...''' – опциональные аргументы, которые будут переданы функции обратного вызова в момент ее выполнения | |||
==Описание== | |||
Задает функцию обратного вызова (или выполняет строку), которая будет выполнена '''ЕДИНОЖДЫ''' после истечения таймаута (он задается в миллисекундах). | |||
Возвращает идентификатор, который затем можно передать функции [[Espruino:Справочник по API/Глобальные методы, переменные и объекты/Функция clearTimeout()|clearTimeout()]]. | |||
Пример: | |||
<syntaxhighlight lang="javascript" enclose="div"> | <syntaxhighlight lang="javascript" enclose="div"> | ||
setTimeout(function () { | |||
console.log("Привет мир"); | |||
}, 1000); | |||
// или | |||
setTimeout('console.log("Привет мир");', 1000); | |||
// оба варианта напечатают 'Привет мир' спустя секунду | |||
</syntaxhighlight> | |||
Вы также можете задать дополнительные аргументы, которые будут переданы функции обратного вызова в момент ее выполнения. Например: | |||
<syntaxhighlight lang="javascript" enclose="div"> | |||
setTimeout(function (a,b) { | |||
console.log(a+" "+b); | |||
}, 1000, "Привет", "Мир"); | |||
// печатает 'Привет мир' спустя секунду | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Если вы хотите предотвратить вызов этой функции, вызовите функцию [[Espruino:Справочник по API/Глобальные методы, переменные и объекты/Функция clearTimeout()|clearTimeout()]] и в качестве аргумента передайте ей идентификатор, возвращенный во время последнего вызова [[Espruino:Справочник по API/Глобальные методы, переменные и объекты/Функция setTimeout()|setTimeout()]]. | |||
'''Примечание:''' Если была вызвана [[Espruino:Справочник по API/Глобальные методы, переменные и объекты/Функция setDeepSleep()|setDeepSleep(true)]], и интервал ''больше 5 секунд'', [[Espruino]] может выполнить этот интервал с опозданием ''до 1 секунды''. Это происходит из-за того, что [[Espruino]] может просыпаться из режима глубокого сна только раз в секунду – в случае более раннего пробуждения [[Espruino]] будет просто зря расходовать электроэнергию в ожидании нужного момента. | |||
=См.также= | =См.также= |
Версия от 15:51, 21 ноября 2020
Функция setTimeout()[1]
Синтаксис
function setWatch(function, pin, options)
Параметры
- function – функция или строка, которую нужно выполнить
- timeout – время до выполнения функции (максимум – «3153600000000», т.е. 100 лет)
- args, ... – опциональные аргументы, которые будут переданы функции обратного вызова в момент ее выполнения
Описание
Задает функцию обратного вызова (или выполняет строку), которая будет выполнена ЕДИНОЖДЫ после истечения таймаута (он задается в миллисекундах).
Возвращает идентификатор, который затем можно передать функции clearTimeout().
Пример:
setTimeout(function () {
console.log("Привет мир");
}, 1000);
// или
setTimeout('console.log("Привет мир");', 1000);
// оба варианта напечатают 'Привет мир' спустя секунду
Вы также можете задать дополнительные аргументы, которые будут переданы функции обратного вызова в момент ее выполнения. Например:
setTimeout(function (a,b) {
console.log(a+" "+b);
}, 1000, "Привет", "Мир");
// печатает 'Привет мир' спустя секунду
Если вы хотите предотвратить вызов этой функции, вызовите функцию clearTimeout() и в качестве аргумента передайте ей идентификатор, возвращенный во время последнего вызова setTimeout().
Примечание: Если была вызвана setDeepSleep(true), и интервал больше 5 секунд, Espruino может выполнить этот интервал с опозданием до 1 секунды. Это происходит из-за того, что Espruino может просыпаться из режима глубокого сна только раз в секунду – в случае более раннего пробуждения Espruino будет просто зря расходовать электроэнергию в ожидании нужного момента.
См.также
Внешние ссылки