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


Posted in Javascript onDecember 10, 2014

方法说明:

为指定事件注册一个监听器。

语法:

emitter.on(event, listener)

emitter.addListener(event, listener)

接收参数:

event            (string)             事件类型
listener         (function)         触发事件时的回调函数

例子:

server.on('connection', function (stream) {

  console.log('someone connected!');

});

源码:

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;

};
Javascript 相关文章推荐
用javascript控制iframe滚动的代码
Apr 10 Javascript
JavaScript 替换Html标签实现代码
Oct 14 Javascript
javascript计时器事件使用详解
Jan 07 Javascript
使用jQuery异步加载 JavaScript脚本解决方案
Apr 20 Javascript
JavaScript实现将xml转换成html table表格的方法
Apr 17 Javascript
Vue.js tab实现选项卡切换
May 16 Javascript
jQuery简介_动力节点Java学院整理
Jul 04 jQuery
JavaScript callback回调函数用法实例分析
May 08 Javascript
vue里的data要用return返回的原因浅析
May 28 Javascript
iSlider手机端图片滑动切换插件使用详解
Dec 24 Javascript
在Vue中使用Viser说明(基于AntV-G2可视化引擎)
Oct 28 Javascript
JavaScript实现筛选数组
Mar 02 Javascript
node.js中的events.emitter.once方法使用说明
Dec 10 #Javascript
node.js中的emitter.emit方法使用说明
Dec 10 #Javascript
node.js中的events.emitter.removeListener方法使用说明
Dec 10 #Javascript
node.js中的events.emitter.listeners方法使用说明
Dec 10 #Javascript
node.js中的events.emitter.removeAllListeners方法使用说明
Dec 10 #Javascript
node.js中的querystring.unescape方法使用说明
Dec 10 #Javascript
node.js中的querystring.escape方法使用说明
Dec 10 #Javascript
You might like
php cookies中删除的一般赋值方法
2011/05/07 PHP
实测在class的function中include的文件中非php的global全局环境
2013/07/15 PHP
分享最受欢迎的5款PHP框架
2014/11/27 PHP
摘自织梦CMS的HTTP文件下载类
2015/08/08 PHP
PHP实现的MD5结合RSA签名算法实例
2017/10/07 PHP
PHP函数用法详解【初始化、嵌套、内置函数等】
2020/06/02 PHP
jquery使用淘宝接口跨域查询手机号码归属地实例
2013/11/28 Javascript
js判断数据类型如判断是否为数组是否为字符串等等
2014/01/15 Javascript
javascript关于继承的用法汇总
2014/12/20 Javascript
NodeJS学习笔记之MongoDB模块
2015/01/13 NodeJs
JavaScript 事件入门知识
2015/04/13 Javascript
JS组件Bootstrap Table表格行拖拽效果实现代码
2020/08/27 Javascript
JavaScript正则表达式exec/g实现多次循环用法示例
2017/01/17 Javascript
JS二分查找算法详解
2017/11/01 Javascript
微信小程序开发技巧汇总
2019/07/15 Javascript
node使用request请求的方法
2019/12/20 Javascript
JavaScript实现拖拽功能
2020/02/11 Javascript
用Javascript实现发送短信验证码间隔功能
2021/02/08 Javascript
简单谈谈python中的Queue与多进程
2016/08/25 Python
Python2中文处理纪要的实现方法
2018/03/10 Python
python实现三维拟合的方法
2018/12/29 Python
python变量赋值方法(可变与不可变)
2019/01/12 Python
Python 异常的捕获、异常的传递与主动抛出异常操作示例
2019/09/23 Python
Python使用grequests并发发送请求的示例
2020/11/05 Python
法国美发器材和产品购物网站:Beauty Coiffure
2016/12/05 全球购物
乌克兰在线药房:Аптека24
2019/10/30 全球购物
奥林匹亚体育:Olympia Sports
2020/12/30 全球购物
介绍一下gcc特性
2015/10/31 面试题
如何用Java实现列出某个目录下的所有子目录
2015/07/20 面试题
初中高效课堂实施方案
2014/02/26 职场文书
中华魂演讲稿
2014/05/13 职场文书
建筑工地质量标语
2014/06/12 职场文书
学习十八大的心得体会
2014/09/12 职场文书
结婚喜宴祝酒词
2015/08/10 职场文书
大队委员竞选稿
2015/11/20 职场文书
导游词之澳门妈祖庙
2019/12/19 职场文书