Esta documentação foi traduzida automaticamente por IA.
Eventos
O servidor do NocoBase (Server) dispara eventos correspondentes durante o ciclo de vida da aplicação, o ciclo de vida dos plugins e as operações de banco de dados. Desenvolvedores de plugins podem escutar esses eventos para implementar lógicas de extensão, operações automatizadas ou comportamentos personalizados.
O sistema de eventos do NocoBase é dividido principalmente em dois níveis:
app.on()- Eventos de Nível de Aplicação: Para escutar eventos do ciclo de vida da aplicação, como inicialização, instalação, ativação de plugins, etc.db.on()- Eventos de Nível de Banco de Dados: Para escutar eventos de operações no nível do modelo de dados, como criação, atualização e exclusão de registros.
Ambos herdam do EventEmitter do Node.js, suportando as interfaces padrão .on(), .off() e .emit(). O NocoBase também estende o suporte para emitAsync, que é usado para disparar eventos de forma assíncrona e aguardar a conclusão da execução de todos os listeners.
Onde Registrar Listeners de Eventos
Os listeners de eventos geralmente devem ser registrados no método beforeLoad() do plugin. Isso garante que os eventos estejam prontos durante a fase de carregamento do plugin, permitindo que a lógica subsequente responda corretamente.
Escutando Eventos da Aplicação app.on()
Os eventos da aplicação são usados para capturar mudanças no ciclo de vida da aplicação NocoBase e dos plugins, sendo ideais para lógicas de inicialização, registro de recursos ou detecção de dependências de plugins.
Tipos Comuns de Eventos
Exemplo: Escutando o evento de inicialização da aplicação
Exemplo: Escutando o evento de carregamento de plugin
Escutando Eventos do Banco de Dados db.on()
Os eventos de banco de dados podem capturar várias mudanças de dados no nível do modelo, sendo adequados para operações de auditoria, sincronização, preenchimento automático, entre outras.
Tipos Comuns de Eventos
Exemplo: Escutando o evento após a criação de dados
Exemplo: Escutando o evento antes da atualização de dados

