源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

node.js中的emitter.on方法使用说明

  • 时间:2021-05-31 11:15 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:node.js中的emitter.on方法使用说明
[b]方法说明:[/b] 为指定事件注册一个监听器。 [b]语法:[/b]
[u]复制代码[/u] 代码如下:
emitter.on(event, listener) emitter.addListener(event, listener)
[b]接收参数:[/b] event            (string)             事件类型 listener         (function)         触发事件时的回调函数 [b]例子:[/b]
[u]复制代码[/u] 代码如下:
server.on('connection', function (stream) {   console.log('someone connected!'); });
[b]源码:[/b]
[u]复制代码[/u] 代码如下:
EventEmitter.prototype.addListener = function(type, listener) {   var m;   if (!util.isFunction(listener))     throw TypeError('listener must be a function');   if (!this._events)     this._events = {};   // To avoid recursion in the case that type === "newListener"! Before   // adding it to the listeners, first emit "newListener".   if (this._events.newListener)     this.emit('newListener', type,               util.isFunction(listener.listener) ?               listener.listener : listener);   if (!this._events[type])     // Optimize the case of one listener. Don't need the extra array object.     this._events[type] = listener;   else if (util.isObject(this._events[type]))     // If we've already got an array, just append.     this._events[type].push(listener);   else     // Adding the second element, need to change to array.     this._events[type] = [this._events[type], listener];   // Check for listener leak   if (util.isObject(this._events[type]) && !this._events[type].warned) {     var m;     if (!util.isUndefined(this._maxListeners)) {       m = this._maxListeners;     } else {       m = EventEmitter.defaultMaxListeners;     }     if (m && m > 0 && this._events[type].length > m) {       this._events[type].warned = true;       console.error('(node) warning: possible EventEmitter memory ' +                     'leak detected. %d listeners added. ' +                     'Use emitter.setMaxListeners() to increase limit.',                     this._events[type].length);       console.trace();     }   }   return this; };
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部