Skip to content

Latest commit

 

History

History
119 lines (76 loc) · 5.42 KB

README.md

File metadata and controls

119 lines (76 loc) · 5.42 KB
Български Deutsch English Русский Українська

EventEmitter

Release License clasp

EventEmitter для Google Apps Script — это библиотека, реализующая архитектуру на основе событий, которая позволяет легко организовать взаимодействие между различными компонентами приложения с помощью механизма "издатель-подписчик".

Основная идея заключается в том, что одни части программы (эмиттеры) могут генерировать события, а другие (подписчики) — на них реагировать, не зная друг о друге напрямую. Это улучшает модульность и расширяемость кода.

Оглавление

Установка

  1. Откройте свой проект в Google Apps Script Dashboard.
  2. Скопируйте содержимое файла emitter.js и вставьте его в новый файл в вашем проекте Google Apps Script.

Документация

Для получения подробной документации, пожалуйста, посетите страницу Wiki.

Использование

Создание экземпляра EventEmitter.

const emitter = EventEmitter.create();

Подписка на событие.

emitter.on('eventName', function(data) {
  console.log(data);
});

Одноразовая подписка на событие.

emitter.once('eventName', function(data) {
  console.log(data);
});

Инициация события.

emitter.emit('eventName', { data: true });

Отписка от события.

function eventHandler(data) {
  console.log(data);
}

emitter.on('eventName', eventHandler);
emitter.off('eventName', eventHandler);

Собственные события

  • newListener: Генерируется каждый раз, когда добавляются новые слушатели. Передает имя события и ссылку на добавляемого слушателя.
  • removeListener: Генерируется каждый раз, когда существующие слушатели удаляются. Передает имя события и ссылку на удаляемого слушателя.
  • error: Генерируется при возникновении ошибки. Если событие не имеет подписчиков, то генерируется исключение.

Задачи

  • Необходимо протестировать метод emitter.prependListener(eventName, listener).
  • Необходимо протестировать метод emitter.prependOnceListener(eventName, listener).

Вклад

Пожалуйста, прочитайте CONTRIBUTING.md для получения подробной информации о том, как внести вклад в этот проект.

История изменений

Для получения подробного списка изменений и обновлений, пожалуйста, обратитесь к файлу CHANGELOG.md.

Лицензия

Этот проект лицензируется в соответствии с файлом LICENSE.md.