zww学习笔记

iOS学习、总结与回顾

node events事件循环

引入event模块:

/*引入模块方式一*/
//引入events模块
var events = require('events');
//创建eventEmitter
var eventEmitter = new  events.EventEmitter();


/*引入模块方式二*/
var EventEmitter = require('events').EventEmitter;
var event = new  EventEmitter();
event.on('some_event',function(){
    console.log('some_event事件触发');
});
setTimeout(function(){
    event.emit('some_event');
},1000);

一个node事件循环的入门例子:

// 引入events模块
var events = require("events");
// 创建 eventEmitter 对象
var eventEmitter = new events.EventEmitter();
//绑定事件及事件的处理程序
var connectHandler = function connected () {
    console.log('连接成功。');
    //触发事件
    eventEmitter.emit('data_received');
}

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

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

//触发connection事件
eventEmitter.emit('connection');
console.log('程序执行完毕。');

打印结果:

连接成功。
数据接收成功。
程序执行完毕

参数的传递:

/*event参数*/
var EventEmitter = require('events').EventEmitter;
var event = new  EventEmitter();
event.on('someEvent',function(arg1,arg2){
    console.log('listener1',arg1,arg2);
});
event.on('someEvent', function(arg1, arg2) {
    console.log('listener2', arg1, arg2);
});
event.emit('someEvent','参数1','参数2');

// addListener

var events = require('events');
var eventEmitter = new events.EventEmitter();

// 监听器 #1
var listener1 = function listener1() {
    console.log('监听器 listener1 执行。');
}
// 监听器 #2
var listener2 = function listener2() {
    console.log('监听器 listener2 执行。');
}
// 绑定 connection 事件,处理函数为 listener1
eventEmitter.addListener('connection',listener1);
// 绑定 connection 事件,处理函数为 listener2
eventEmitter.on('connection', listener2);

var eventListeners = require('events').EventEmitter.listenerCount(eventEmitter,'connection');
console.log(eventListeners + " 个监听器监听连接事件。");

// 处理 connection 事件
eventEmitter.emit('connection');

// 移除监绑定的 listener1 函数
eventEmitter.removeListener('connection', listener1);
console.log("listener1 不再受监听。");
阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zww1984774346/article/details/52353603
文章标签: node 学习总结
个人分类: Node基础
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭