Espruino:Справочник по API/Класс Object/on(): различия между версиями
Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Myagkij (обсуждение | вклад) (Новая страница: «{{Espruino/Панель перехода}} {{Перевод от Сubewriter}} {{Myagkij-редактор}} =<ref>[ www.espruino.com - ]</ref>= ==Синтакс...») |
Нет описания правки |
||
(не показаны 3 промежуточные версии 2 участников) | |||
Строка 3: | Строка 3: | ||
{{Myagkij-редактор}} | {{Myagkij-редактор}} | ||
=<ref>[ www.espruino.com - ]</ref>= | =Функция Object.on()<ref>[https://www.espruino.com/Reference#l_Object_on www.espruino.com - function Object.on(event, listener)]</ref>= | ||
==Синтаксис== | ==Синтаксис== | ||
<syntaxhighlight lang="javascript | <syntaxhighlight lang="javascript"> | ||
Object.on(event, listener) | |||
</syntaxhighlight> | </syntaxhighlight> | ||
==Параметры== | ==Параметры== | ||
* '''event''' – название события (например, 'data') | |||
* '''listener''' – функция-обработчик, которую нужно вызвать при получении заданного события | |||
==Возвращаемое значение== | ==Возвращаемое значение== | ||
Строка 21: | Строка 22: | ||
==Описание== | ==Описание== | ||
Задает обработчик события для текущего объекта. Например, Serial1.on('data', function(d) {...}). | |||
Это то же самое, что и [https://nodejs.org/api/events.html EventEmitter] в Node.js, но в [[Espruino]] этот функционал встроен в каждый объект: | |||
* [https://www.espruino.com/Reference#l_Object_on Object.on()] | |||
* [https://www.espruino.com/Reference#l_Object_emit Object.emit()] | |||
* [https://www.espruino.com/Reference#l_Object_removeListener Object.removeListener()] | |||
* [https://www.espruino.com/Reference#l_Object_removeAllListeners Object.removeAllListeners()] | |||
<syntaxhighlight lang="javascript"> | |||
var o = {}; // в «o» можно задать любой объект... | |||
// при получении события 'answer' вызываем стрелочную функцию: | |||
o.on('answer', x => console.log(x)); | |||
// при получении события 'answer' вызываем именованную функцию: | |||
function printAnswer(d) { | |||
console.log("Ответ:", d); | |||
} | |||
o.on('answer', printAnswer); | |||
// генерируем событие 'answer', | |||
// в результате будут вызваны функции, заданные с помощью on(): | |||
o.emit('answer', 42); | |||
// печатаем «42» и «Ответ: 42» | |||
// если у вас именованная функция, ее можно удалить по названию: | |||
o.removeListener('answer', printAnswer); | |||
// теперь 'printAnswer' удалена | |||
o.emit('answer', 43); | |||
// печатаем «43» | |||
// или можем удалить все обработчики для события 'answer': | |||
o.removeAllListeners('answer') | |||
// теперь ничего происходить не будет: | |||
o.emit('answer', 44); | |||
// ничего не печатаем | |||
</syntaxhighlight> | |||
== Примеры == | == Примеры == | ||
Строка 29: | Строка 61: | ||
=См.также= | =См.также= | ||
=Внешние ссылки= | =Внешние ссылки= | ||
Строка 35: | Строка 67: | ||
<references /> | <references /> | ||
{{Навигационная таблица/Espruino | {{Навигационная таблица/Портал/Espruino}} | ||
Текущая версия от 06:55, 24 мая 2023
Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.
Функция Object.on()[1]
Синтаксис
Object.on(event, listener)
Параметры
- event – название события (например, 'data')
- listener – функция-обработчик, которую нужно вызвать при получении заданного события
Возвращаемое значение
Описание
Задает обработчик события для текущего объекта. Например, Serial1.on('data', function(d) {...}).
Это то же самое, что и EventEmitter в Node.js, но в Espruino этот функционал встроен в каждый объект:
var o = {}; // в «o» можно задать любой объект...
// при получении события 'answer' вызываем стрелочную функцию:
o.on('answer', x => console.log(x));
// при получении события 'answer' вызываем именованную функцию:
function printAnswer(d) {
console.log("Ответ:", d);
}
o.on('answer', printAnswer);
// генерируем событие 'answer',
// в результате будут вызваны функции, заданные с помощью on():
o.emit('answer', 42);
// печатаем «42» и «Ответ: 42»
// если у вас именованная функция, ее можно удалить по названию:
o.removeListener('answer', printAnswer);
// теперь 'printAnswer' удалена
o.emit('answer', 43);
// печатаем «43»
// или можем удалить все обработчики для события 'answer':
o.removeAllListeners('answer')
// теперь ничего происходить не будет:
o.emit('answer', 44);
// ничего не печатаем
Примеры
См.также
Внешние ссылки