nodejs(七)----イベント(Events)を一緒に読みます.
2915 ワード
本論文はnodejs 0.8.9バージョンのapi開発マニュアルの解読である.nodejsウェブサイト.
イベント(イベント)
stability:4-API Frozen
nodeの中で多くのオブジェクトがイベントを発行します.一つのnet.Serverオブジェクトは毎回接続されます.一つのイベントを発行します.一つのfs.readStreamオブジェクトはファイルを開く時に一つのイベントを放出します.すべてのオブジェクトはevent.EventEmitterオブジェクトの例です.このモジュールにアクセスできます.
代表的なイベントの名前はすべてラクダのピークマークの文字列ですが、強制的な制約ではなく、任意の文字列が受け入れられます.
関数はオブジェクトに付加され、イベントが発生したときに実行されます.このような関数は傍受関数と呼ばれます.
Class:events.Emitter
このようにイベント.Events.Emitter類にアクセスできます.
EventEmitterがエラーに遭遇した時、典型的な動作はerrorイベントを発行します.nodeの中で、errorイベントは特殊な状況として処理されます.対応する傍受関数がない場合、デフォルトの動作はスタック情報を印刷してプログラムを終了します.
すべてのEventEmitterオブジェクトは、新しい傍受関数を追加すると、newListenerイベントを発行します.
ementer.addListener(event、listener)
ement.on(event、listener)
指定されたイベントの待ち受け関数配列の最後に傍受関数を追加します.
イベントのために一度だけ実行する傍受関数を追加します.この傍受関数は次のイベントのトリガ時に一回だけ実行され、その後削除されます.
ement.removeListener(event,listener)
指定されたイベントの傍受関数配列から1つの傍受関数を削除します.削除すると、傍受関数が削除された後の他の傍受関数の配列インデックスが変更されます.
ement.removeAllListeners([event])
パラメータを持たないと、すべての待ち受け関数が削除されますが、パラメータは指定されたイベントのすべての傍受関数のみが削除されます.
注意:以前にeitter.listenersを使って得られた配列は無効になります.
ement.set MaxListeners(n)
デフォルトでは、イベントの待ち受け関数が10個を超えると、EventEmittersオブジェクトが警告メッセージを印刷します.メモリオーバーを発見するのに有用な方法です.明らかにすべてのEmittersオブジェクトは10個のモニターを制限すべきではないです.この関数は制限個数を増やすことができます.制限したくないなら、0に設定できます.
ementer.listeners(イベント)
指定されたイベントの待ち受け関数配列を返します.
もしあなたが指定された時間に変更されない傍受関数のリストのコピーを取得する必要があるなら、例えば、emeitter.listeners.slice(0)を取得します.
nodeの将来のreleaseバージョンでは、この挙動は常に同じcopyに戻ります.あなたのプログラムでは、配列の関数に依存しないでください.EventEmittersの傍受関数を変更します.常に'on'メソッドを使って新しい傍受を追加してください.
ement.ement(event,[arg 1],[arg 2],[…])
各傍受関数は、提供されたパラメータリストに従って順次実行されます.
Event:'newListener'
イベントString,theイベントname,イベント文字列,イベント名. listener function the event handler functionモニタ関数,イベントハンドラクション イベントの送信をサポートするオブジェクトに新しい傍受関数を追加すると、このイベントが送信されます.
イベント(イベント)
stability:4-API Frozen
nodeの中で多くのオブジェクトがイベントを発行します.一つのnet.Serverオブジェクトは毎回接続されます.一つのイベントを発行します.一つのfs.readStreamオブジェクトはファイルを開く時に一つのイベントを放出します.すべてのオブジェクトはevent.EventEmitterオブジェクトの例です.このモジュールにアクセスできます.
代表的なイベントの名前はすべてラクダのピークマークの文字列ですが、強制的な制約ではなく、任意の文字列が受け入れられます.
関数はオブジェクトに付加され、イベントが発生したときに実行されます.このような関数は傍受関数と呼ばれます.
Class:events.Emitter
このようにイベント.Events.Emitter類にアクセスできます.
EventEmitterがエラーに遭遇した時、典型的な動作はerrorイベントを発行します.nodeの中で、errorイベントは特殊な状況として処理されます.対応する傍受関数がない場合、デフォルトの動作はスタック情報を印刷してプログラムを終了します.
すべてのEventEmitterオブジェクトは、新しい傍受関数を追加すると、newListenerイベントを発行します.
ementer.addListener(event、listener)
ement.on(event、listener)
指定されたイベントの待ち受け関数配列の最後に傍受関数を追加します.
server.on('connection', function (stream) {
console.log('someone connected!');
});
ement.once(event、listener)イベントのために一度だけ実行する傍受関数を追加します.この傍受関数は次のイベントのトリガ時に一回だけ実行され、その後削除されます.
server.once('connection', function (stream) {
console.log('Ah, we have our first user!');
});
ement.removeListener(event,listener)
指定されたイベントの傍受関数配列から1つの傍受関数を削除します.削除すると、傍受関数が削除された後の他の傍受関数の配列インデックスが変更されます.
var callback = function(stream) {
console.log('someone connected!');
};
server.on('connection', callback);
// ...
server.removeListener('connection', callback);
ement.removeAllListeners([event])
パラメータを持たないと、すべての待ち受け関数が削除されますが、パラメータは指定されたイベントのすべての傍受関数のみが削除されます.
注意:以前にeitter.listenersを使って得られた配列は無効になります.
ement.set MaxListeners(n)
デフォルトでは、イベントの待ち受け関数が10個を超えると、EventEmittersオブジェクトが警告メッセージを印刷します.メモリオーバーを発見するのに有用な方法です.明らかにすべてのEmittersオブジェクトは10個のモニターを制限すべきではないです.この関数は制限個数を増やすことができます.制限したくないなら、0に設定できます.
ementer.listeners(イベント)
指定されたイベントの待ち受け関数配列を返します.
server.on('connection', function (stream) {
console.log('someone connected!');
});
console.log(util.inspect(server.listeners('connection'))); // [ [Function] ]
イベント構造では、この配列は変更されやすく、維持され、イベントの傍受関数のリストはずっと続いていますが、特定の動作(特にremoveAllListeners)はこのインデックスに無効になります.もしあなたが指定された時間に変更されない傍受関数のリストのコピーを取得する必要があるなら、例えば、emeitter.listeners.slice(0)を取得します.
nodeの将来のreleaseバージョンでは、この挙動は常に同じcopyに戻ります.あなたのプログラムでは、配列の関数に依存しないでください.EventEmittersの傍受関数を変更します.常に'on'メソッドを使って新しい傍受を追加してください.
ement.ement(event,[arg 1],[arg 2],[…])
各傍受関数は、提供されたパラメータリストに従って順次実行されます.
Event:'newListener'