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 相关文章推荐
扩展Jquery插件处理mouseover时内部有子元素时发生样式闪烁
Dec 08 Javascript
JS中 用户登录系统的解决办法
Apr 15 Javascript
javascript操作数组详解
Dec 17 Javascript
jQuery Validate初步体验(二)
Dec 12 Javascript
JavaScript中的prototype原型学习指南
May 09 Javascript
Javascript实现倒计时时差效果
May 18 Javascript
详解vue express启动数据服务
Jul 05 Javascript
JavaScript实现图片放大镜效果
Jun 27 Javascript
微信小程序基于高德地图API实现天气组件(动态效果)
Oct 22 Javascript
vant-ui组件调用Dialog弹窗异步关闭操作
Nov 04 Javascript
vue mvvm数据响应实现
Nov 11 Javascript
js实现头像上传并且可预览提交
Dec 25 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
md5 16位二进制与32位字符串相互转换示例
2013/12/30 PHP
超级兔子让浮动层消失的前因后果
2007/03/09 Javascript
JavaScript 封装Ajax传递的数据代码
2009/06/05 Javascript
jquery插件之信息弹出框showInfoDialog(成功/错误/警告/通知/背景遮罩)
2013/01/09 Javascript
js使下拉列表框可编辑不止是选择
2013/12/12 Javascript
AngularJS iframe跨域打开内容时报错误的解决办法
2015/01/26 Javascript
JavaScript中动态向表格添加数据
2017/01/24 Javascript
JavaScript对象引用与赋值实例详解
2017/03/15 Javascript
javascript实现圣旨卷轴展开效果(代码分享)
2017/03/23 Javascript
Vue from-validate 表单验证的示例代码
2017/09/26 Javascript
判断滚动条滑到底部触发事件(实例讲解)
2017/11/15 Javascript
利用JQUERY实现多个AJAX请求等待的实例
2017/12/14 jQuery
jQuery中可见性过滤器简单用法示例
2018/03/31 jQuery
angular2组件中定时刷新并清除定时器的实例讲解
2018/08/31 Javascript
Vue中使用方法、计算属性或观察者的方法实例详解
2018/10/31 Javascript
VueJS实现用户管理系统
2020/05/29 Javascript
python标准算法实现数组全排列的方法
2015/03/17 Python
举例讲解Python中的Null模式与桥接模式编程
2016/02/02 Python
python实现基于SVM手写数字识别功能
2020/05/27 Python
django中send_mail功能实现详解
2018/02/06 Python
python把数组中的数字每行打印3个并保存在文档中的方法
2018/07/17 Python
有关Python的22个编程技巧
2018/08/29 Python
Python基础之字典常见操作经典实例详解
2020/02/26 Python
如何基于Python代码实现高精度免费OCR工具
2020/06/18 Python
Python+pyftpdlib实现局域网文件互传
2020/08/24 Python
Omio意大利:全欧洲低价大巴、火车和航班搜索和比价
2017/12/02 全球购物
俄罗斯购买内衣网站:Trusiki
2020/08/22 全球购物
如何启动时不需输入用户名与密码
2014/05/09 面试题
.NET里面如何取得当前的屏幕分辨率
2012/12/06 面试题
2014年党员公开承诺书范文
2014/03/28 职场文书
领导班子民主生活会整改措施(工商局)
2014/09/21 职场文书
居委会四风问题个人对照检查材料
2014/09/25 职场文书
实习单位推荐信
2015/03/27 职场文书
出纳岗位职责范本
2015/03/31 职场文书
2015中秋节晚会主持词
2015/07/01 职场文书
Vue全局事件总线你了解吗
2022/02/24 Vue.js