nodejs events模块
var EventEmitter = require('events').EventEmitter;
var emitter = new EventEmitter();
console.log(emitter.getMaxListeners());
//设置可监听事件的最大个数
emitter.setMaxListeners(11);
function work(who){
console.log(who + ' go to work')
}
//监听事件
emitter.on('do', work);
emitter.on('do', function(who) {
console.log(who + ' wash clothers')
});
emitter.on('rest', function(who) {
console.log(who + ' can have a rest');
})
//移除监听事件
emitter.removeListener('do', work);
//触发事件
emitter.emit('do', 'John');
emitter.emit('do', 'lily');
emitter.emit('rest', 'Tom');
//所有‘do’的监听事件
console.log(emitter.listeners('do'))
//监听事件的个数
console.log(emitter.listenerCount('do'));
nodejs events模块的更多相关文章
- 深入出不来nodejs源码-events模块
这一节内容超级简单,纯JS,就当给自己放个假了,V8引擎和node的C++代码看得有点脑阔疼. 学过DOM的应该都知道一个API,叫addeventlistener,即事件绑定.这个东西贯穿了整个JS ...
- nodejs事件模块
nodejs 事件模块 events 只有一个对象 EventEmitter . var EventEmitter = require('events').EventEmitter;var life ...
- Nodejs核心模块
(1)全局对象 在浏览器JS中,通常window是全局对象,而nodejs中的全局对象是global,所有全局变量都是global对象的属性. 在nodejs中能够直接访问到的对象通常都是global ...
- node模块之events模块
events 模块只提供了一个对象: events.EventEmitter. [EventEmitter 的核心就是事件触发与事件监听器功能的封装.] EventEmitter 的每个事件由一个事件 ...
- node之events 模块,并通过实例化 EventEmitter 类来绑定和监听事件
例子来源:http://www.runoob.com/nodejs/nodejs-event-loop.html http://www.runoob.com/nodejs/nodejs-event.h ...
- 配置 Windows 下的 nodejs C++ 模块编译环境
根据 node-gyp 指示的 Windows 编译环境说明, 简单一句话就是 "Python + VC++ 编译环境". 所有需要的安装文件, 我都下载好放到百度云盘了: nod ...
- NodeJS http 模块
#4 NodeJS http 模块 工作目录 server.js var http = require('http'); var fs = require('fs'); var path = requ ...
- nodejs的模块系统(实例分析exprots和module.exprots)
前言:工欲善其事,必先利其器.模块系统是nodejs组织管理代码的利器也是调用第三方代码的途径,本文将详细讲解nodejs的模块系统.在文章最后实例分析一下exprots和module.exprots ...
- events模块
/** * Created by Administrator on 2016/8/3. */ var http = require("http"); //Node 导入文件系统模块 ...
随机推荐
- LeetCode - Populating Next Right Pointers in Each Node
题目: Given a binary tree struct TreeLinkNode { TreeLinkNode *left; TreeLinkNode *right; TreeLinkNode ...
- Emit学习(1) - HelloWorld
之前看过Dapper(使用到了Emit), CYQ.Data(另一种思路,没有使用Emit)类的框架之后, 也想自己做一个小框架玩一下, 不过此时能力太过欠缺, 做不了Cyq.Data或者PDF.Ne ...
- Mac下Vim配置语法高亮
设置终端的字体颜色 如图,打开终端然后,选择偏好设置,再选择描述文件,再窗口左侧可以选择系统配置好的,或者你也可以自定义,最后别忘了把你的配置设置成默认就行 Vim语法高亮设置 只需要找到vimrc配 ...
- 三星S4,呼转的来电,在来电界面上不显示的解决方案
因为工作关系,我有2个号码是呼叫转移到我现在的手机上的,如果有呼叫转移的来电的话,在通话界面里面没有提示该来电是呼叫转移来的.之前我用的诺基亚的,可以看到呼叫转移的来电,在号码的左边有个拐弯的箭头,提 ...
- Win10 IoT C#开发 2 - 创建基于XAML的UI程序 及 应用的三种部署方法
Windows 10 IoT Core 是微软针对物联网市场的一个重要产品,与以往的Windows版本不同,是为物联网设备专门设计的,硬件也不仅仅限于x86架构,同时可以在ARM架构上运行. 上一章我 ...
- FAILED BINDER TRANSACTION
最近开发Widget,要在Widget上显示图片,出现了FAILED BINDER TRANSACTION错误,后来才发现是因为图片太大了.Widget使用的是RemoteViews,而Intent传 ...
- DokuWiki整合Zentao的用户授权及分组体系
老外们把精力都放在了怎样做通用性上面了. Doku后台有切换授权方式的选项,改成mysql. 注:如下修改mysql.conf.php后,要把分组和权限设置结合起来,还需要配置dokuwiki的分组, ...
- mysql分页查询详解
我们做的后端项目一般都会有admin管理端,当管理端将要展示数据的时候,就需要用到分页.所以分页的考查在面试中也相当多.在mysql中进行分页查询时,一般会使用limit查询,而且通常查询中都会使用o ...
- 初识 PHPunit stub 模拟返回数据
这是这段时间以来结合 PHPunit 文档和大牛们的讲解,想记录下自己学习到的知识,未来参考补充,完善学到的东西 我们一般使用单测对公司业务里的代码进行测试,他会帮忙找到你的一个个小小的思考不够全面的 ...
- linux下使用forever进行管理
何为forever:forever可以看做是一个nodejs的守护进程,能够启动,停止,重启我们的app应用.官方的说明是说:A simple CLI tool for ensuring that a ...