Espruino:Справочник по API/Класс Object/on(): различия между версиями
Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Нет описания правки |
Нет описания правки |
||
Строка 7: | Строка 7: | ||
==Синтаксис== | ==Синтаксис== | ||
<syntaxhighlight lang="javascript | <syntaxhighlight lang="javascript"> | ||
Object.on(event, listener) | Object.on(event, listener) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 30: | Строка 30: | ||
* [https://www.espruino.com/Reference#l_Object_removeAllListeners Object.removeAllListeners()] | * [https://www.espruino.com/Reference#l_Object_removeAllListeners Object.removeAllListeners()] | ||
<syntaxhighlight lang="javascript | <syntaxhighlight lang="javascript"> | ||
var o = {}; // в «o» можно задать любой объект... | var o = {}; // в «o» можно задать любой объект... | ||
// при получении события 'answer' вызываем стрелочную функцию: | // при получении события 'answer' вызываем стрелочную функцию: |
Текущая версия от 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);
// ничего не печатаем
Примеры
См.также
Внешние ссылки