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

