メソッド説明:
指定されたイベントのリスナーを登録します。
文法:
コードコピーは次のとおりです。
Emitter.on(イベント、リスナー)
Emitter.AddListener(イベント、リスナー)
パラメーターを受信:
イベント(文字列)イベントタイプ
リスナー(関数)イベントがトリガーされたときのコールバック関数
例:
コードコピーは次のとおりです。
server.on( 'connection'、function(stream){
console.log( '誰かがコネクテッド!');
});
ソースコード:
コードコピーは次のとおりです。
eventemitter.prototype.addlistener = function(type、listerer){
var m;
if(!util.isfunction(リスナー))
throw typeRror( 'リスナーは関数である必要があります');
if(!this._events)
this._events = {};
// type === "NewListener"の場合の再帰を避けるために!前に
//リスナーに追加すると、最初に「newListener」を発します。
if(this._events.newlistener)
this.emit( 'newlistener'、type、
util.isfunction(listener.listener)?
リスナー。Listener:リスナー);
if(!this._events [type])
// 1人のリスナーのケースを最適化します。追加の配列オブジェクトは必要ありません。
this._events [type] =リスナー;
else if(util.isobject(this._events [type])))
//すでに配列がある場合は、追加するだけです。
this._events [type] .push(リスナー);
それ以外
// 2番目の要素を追加すると、配列に変更する必要があります。
this._events [type] = [this._events [type]、リスナー];
//リスナーリークを確認します
if(util.isobject(this._events [type])&&!this._events [type] .warned){
var m;
if(!util.isundefined(this._maxlisteners)){
m = this._maxlisteners;
} それ以外 {
m = eventemitter.defaultmaxlisteners;
}
if(m && m> 0 && this._events [type] .length> m){
this._events [type] .warned = true;
console.error( '(ノード)警告:可能なEventemitterメモリ' +
'リークが検出されました。 %Dリスナーが追加されました。 ' +
'Emitter.setMaxListeners()を使用して制限を増やします。」
this._events [type] .length);
console.trace();
}
}
これを返します。
};