node.js自学笔记(4)-事件
来源:互联网 发布:卓讯企业数据网 编辑:程序博客网 时间:2024/06/09 22:15
node.js中所有的异步I/O操作都会发送一个事件到事件队列中,下面我们先来看看事件在node.js中的定义
事件
在node中,用EventEmitter对象来提供事件,请看下面代码:
//event.jsvar EventEmitter = require('events').EventEmitter;var event = new EventEmitter();event.on('some_event',function(){ console.log('some_event occured.');});event.on('some_event1111',function(){ console.log('some_event1111 occured.');});setTimeout(function(){ event.emit('some_event1111');},1000);
上面的代码中我们首先得到事件模块中EventEmitter对象,然后由此创建了event实例。然后提供了2个事件some_event
和some_event1111
。最后我们用setTimeout函数定时发送了一个事件some_event1111
。请看输出:
D:\node.js\0211>node event.jssome_event1111 occured.D:\node.js\0211>
程序会在等待一秒后打印上面的信息。这就是异步I/O的机制,当I/O工作完成后,它就会给回调函数事件发送消息,然后该回调函数会被执行。
事件循环
node是基于事件循环来处理回调函数的
node程序是从事件循环开始的,从事件循环结束的。但是程序的入口是第一个回调函数,如果回调函数有I/O等操作,那么程序就会生成相应的事件,将事件处理放入到事件队列中,然后回到事件循环。事件循环会检查事件队列中有没有没处理的事件,如果有事件需要处理,那么就要进入事件对应的回调函数中进行操作。直到程序结束。
0 0
- node.js自学笔记(4)-事件
- node.js自学笔记(1)-Helloworld
- node.js自学笔记(5)-module
- node.js自学笔记(6)-包
- node.js自学笔记(7)-发布包
- node.js自学笔记(2)-建立http服务器
- node.js自学笔记(3)-异步I/O
- node.js自学笔记(8)-搭建调试环境
- Node.js学习笔记之三:事件
- 自学Node.js 五:学习node-formidable
- 揭秘node.js事件
- node.js 事件乒乓
- Node.js 事件
- Node.js的事件
- Node.js 事件
- Node.js事件循环
- Node.js事件发射器
- node.js 事件
- OSGi实战(1)使用Maven创建Bundle
- Android Crash 分析定位脚本
- Linux网络抓包工具——tcpdump
- 手工释放linux内存——/proc/sys/vm/drop_caches
- opencv2.4.9+vs2013中的等大图像的相似度匹配运算时间
- node.js自学笔记(4)-事件
- (三十八)从私人通讯录引出的细节II -数据逆传 -tableView点击 -自定义分割线
- 关于html5 canvas 的宽高 问题
- openGL es2.0 创建物理世界_颜色立方体刚体_颜色平面刚体以及四元数转换
- 028 函数的返回值
- linux 下各errno的意义
- 什么是差分约束系统?
- HDOJ 1251 统计难题(j简单的字典树trie的应用)
- UVALive 3026 (LA 3026) Period KMP求字符串周期