eventEmitter学习

// 引入 events 模块
var events = require('events');
// 创建 eventEmitter 对象
var eventEmitter = new events.EventEmitter();

var sum = 1;
var sum2 = 1;

// 创建事件处理程序
var connectHandler = function connected() {    
console.log('连接成功。');

for(var i = 2 ; i < 100 ; i++){
sum = sum * i;
}
console.log(sum);

// 触发 data_received 事件 
eventEmitter.emit('data_received');
}

// 绑定 connection 事件处理程序
eventEmitter.on('connection', connectHandler);

// 使用匿名函数绑定 data_received 事件
eventEmitter.on('data_received', function(){
console.log('数据接收成功。');
});

// 触发 connection 事件 
eventEmitter.emit('connection');

console.log("程序执行完毕。");

 

///2015-9-30 10:49:00
///程序顺序执行。第一步执行程序是eventEmitter.emit('connection'); 触发‘connect'的监听事件处理程序connectHandler
///connectHandler函数执行,输出'连接成功',发射'data_received'事件
///'data_received'事件被已经注册的监听函数监听到,执行事件处理程序,输出'数据接收成功'
///输出'程序执行完毕'

///既然事件处理函数已经开始处理,就必须事件处理完才能执行下一步
原文地址:https://www.cnblogs.com/lswit/p/4848593.html