先扯下android中的事件的发布与订阅框架eventBus,也就分三部初始化、注册订阅事件、发布事件。nodejs的发射器跟eventBus都是这个步骤。
1、上个最简单的
var http = require('http');
var events = require('events');
//B1创建一个事件发射器 事件初始化
var ee= new events.EventEmitter();
//B2注册监听器 事件的订阅
ee.on('connect',function(){
console.log("有个连接");
});
var server= http.createServer(function(req,res){
//B3发射 发布
ee.emit('connect');
res.write('hello');
res.end();
});
server.listen(9003);
这里有B1:事件初始化,B2:事件的订阅on或者addListener传人2个参数一个是键,一个是回调函数,B3:发布emit
2、跑起
node server.js
3、删除所有与删除某个removeAllListeners
var http = require('http');
var events = require('events');
//B1创建一个事件发射器 事件初始化
var ee= new events.EventEmitter();
var connectfun=function(){
console.log("有个连接");
}
//B2注册监听器 事件的订阅
ee.on('connect',connectfun);
var server= http.createServer(function(req,res){
//B3发射 发布
ee.emit('connect');
ee.removeListener('connect',connectfun);
//ee.removeAllListeners('connect');
res.write('hello');
res.end();
});
server.listen(9003);
重复请求看差别