Эта документация была автоматически переведена ИИ.
События
Сервер NocoBase генерирует соответствующие события на различных этапах: в течение жизненного цикла приложения, жизненного цикла плагинов и при выполнении операций с базой данных. Разработчики плагинов могут прослушивать эти события для реализации расширенной логики, автоматизации или пользовательского поведения.
Система событий NocoBase делится на два основных уровня:
app.on()— События уровня приложения: Позволяют прослушивать события жизненного цикла приложения, такие как запуск, установка, включение плагинов и т.д.db.on()— События уровня базы данных: Позволяют прослушивать события операций на уровне модели данных, например, создание, обновление или удаление записей.
Оба уровня наследуют функциональность от EventEmitter Node.js и поддерживают стандартные интерфейсы .on(), .off() и .emit(). NocoBase также расширяет эту поддержку, добавляя emitAsync для асинхронного запуска событий и ожидания завершения выполнения всех прослушивателей.
Где регистрировать прослушиватели событий
Прослушиватели событий, как правило, следует регистрировать в методе beforeLoad() плагина. Это гарантирует, что события будут готовы на этапе загрузки плагина, и последующая логика сможет корректно на них реагировать.
Прослушивание событий приложения app.on()
События приложения используются для отслеживания изменений в жизненном цикле приложения NocoBase и его плагинов. Они идеально подходят для реализации логики инициализации, регистрации ресурсов или проверки зависимостей плагинов.
Распространенные типы событий
Пример: Прослушивание события запуска приложения
Пример: Прослушивание события загрузки плагина
Прослушивание событий базы данных db.on()
События базы данных позволяют отслеживать различные изменения данных на уровне модели. Они подходят для таких операций, как аудит, синхронизация или автоматическое заполнение.
Распространенные типы событий
Пример: Прослушивание события после создания данных
Пример: Прослушивание события перед обновлением данных

