Tip
このドキュメントはAIによって翻訳されました。不正確な情報については、英語版をご参照ください
イベント
NocoBaseのサーバーは、アプリケーションのライフサイクル、プラグインのライフサイクル、データベース操作など、様々な場面で関連するイベントをトリガーします。プラグイン開発者は、これらのイベントをリッスンすることで、拡張ロジックの実装、自動化された操作、またはカスタムな振る舞いを実現できます。
NocoBaseのイベントシステムは、主に以下の2つのレベルに分かれています。
app.on()- アプリケーションレベルイベント:アプリケーションの起動、インストール、プラグインの有効化など、アプリケーションのライフサイクルイベントをリッスンします。db.on()- データベースレベルイベント:レコードの作成、更新、削除など、データモデルレベルの操作イベントをリッスンします。
どちらもNode.jsのEventEmitterを継承しており、標準の.on()、.off()、.emit()インターフェースをサポートしています。NocoBaseはさらにemitAsyncもサポートしており、これはイベントを非同期でトリガーし、すべてのリスナーが実行を完了するまで待機するために使用されます。
イベントリスナーの登録場所
イベントリスナーは通常、プラグインのbeforeLoad()メソッド内で登録する必要があります。これにより、プラグインのロード段階でイベントが準備され、後続のロジックが正しく応答できるようになります。
アプリケーションイベントをリッスンする app.on()
アプリケーションイベントは、NocoBaseアプリケーションおよびプラグインのライフサイクル変更を捕捉するために使用されます。初期化ロジック、リソース登録、プラグインの依存関係チェックなどに適しています。
よくあるイベントタイプ
例:アプリケーション起動イベントをリッスンする
例:プラグインロードイベントをリッスンする

