Nodejs-domain-module
Node.js-ドメインモジュール
Node.js domain モジュールは、未処理のエラーをインターセプトするために使用されます。 これらの未処理のエラーは、内部バインディングまたは外部バインディングを使用してインターセプトできます。 エラーがまったく処理されない場合、単純にNodeアプリケーションがクラッシュします。
- 内部バインディング-エラーエミッターは、ドメインのrunメソッド内でコードを実行しています。
- 外部バインディング-エラーエミッタは、addメソッドを使用してドメインに明示的に追加されます。
このモジュールは、次の構文を使用してインポートできます。
ドメインモジュールのドメインクラスは、アクティブなDomainオブジェクトへのルーティングエラーとキャッチされない例外の機能を提供するために使用されます。 EventEmitterの子クラスです。 キャッチするエラーを処理するには、エラーイベントをリッスンします。 次の構文を使用して作成されます-
方法
Sr.No. | Method & Description |
---|---|
1 |
domain.run(function) 指定された関数をドメインのコンテキストで実行し、そのコンテキストで作成されたすべてのイベントエミッター、タイマー、および低レベルの要求を暗黙的にバインドします。 これは、ドメインを使用する最も基本的な方法です。 |
2 |
domain.add(emitter) 明示的にエミッタをドメインに追加します。 エミッターによって呼び出されたイベントハンドラーがエラーをスローした場合、またはエミッターがエラーイベントを発行した場合、暗黙的なバインディングの場合と同様に、ドメインのエラーイベントにルーティングされます。 |
3 |
domain.remove(emitter) domain.add(emitter)の反対。 指定されたエミッターからドメイン処理を削除します。 |
4 |
domain.bind(callback) 返される関数は、提供されたコールバック関数のラッパーです。 返された関数が呼び出されると、スローされたエラーはすべてドメインのエラーイベントにルーティングされます。 |
5 |
domain.intercept(callback) このメソッドは、domain.bind(callback)とほぼ同じです。 ただし、スローされたエラーをキャッチすることに加えて、関数の最初の引数として送信されたErrorオブジェクトもインターセプトします。 |
6 |
domain.enter() enterメソッドは、実行、バインド、およびインターセプトメソッドがアクティブドメインを設定するために使用する配管です。 domain.activeおよびprocess.domainをドメインに設定し、ドメインモジュールによって管理されるドメインスタックにドメインを暗黙的にプッシュします(ドメインスタックの詳細については、domain.exit()を参照してください)。 enterの呼び出しは、ドメインにバインドされた非同期呼び出しとI/O操作のチェーンの始まりを区切ります。 |
7 |
domain.exit() exitメソッドは、現在のドメインを終了し、ドメインスタックからポップします。 実行が非同期呼び出しの異なるチェーンのコンテキストに切り替わるたびに、現在のドメインが終了することを確認することが重要です。 exitの呼び出しは、ドメインにバインドされた非同期呼び出しとI/O操作のチェーンの終了または中断を区切ります。 |
8 |
domain.dispose() 破棄が呼び出されると、ドメインは、実行、バインド、またはインターセプトを介してドメインにバインドされたコールバックによって使用されなくなり、破棄イベントが発行されます |
プロパティ
S.No. | Property & Description |
---|---|
1 |
domain.members ドメインに明示的に追加されたタイマーとイベントエミッターの配列。 |
例
次のコードでmain.jsという名前のjsファイルを作成します-
次に、main.jsを実行して結果を確認します-
出力を確認します。