nodejs事件
Events
events.EventEmitter
emitter.addListener(event, listener)==on //添加监听
emitter.on(event, listener)
emitter.once(event, listener)//一次性的监听器
emitter.removeListener(event, listener) //删除指定监听
emitter.removeAllListeners([event]) //删除所有监听
emitter.setMaxListeners(n) //默认情况下当一个事件的监听超过10个时,EventEmitter 将打印警告信息,0表无限制
emitter.listeners(event) //返回特定事件的事件监听器集合
emitter.emit(event, [arg1], [arg2], [...]) //用提供的参数按顺序执行每个事件监听器。
emitter.on('someEvent', function(arg1, arg2) {
console.log('listener2', arg1, arg2);
});
emitter.emit('someEvent', 'arg1 参数', 'arg2 参数'); //抛出事件
例子:
var http = require('http');
var events=require("events");
var UserBean = require('./models/UserBean');
http.createServer(function (request, response) {
response.writeHead(200, {'Content-Type': 'text/html; charset=utf-8'});
if(request.url!=="/favicon.ico"){
user = new UserBean();
user.eventEmit.once('zhuceSuc',function(uname,pwd){
response.write('注册成功');
console.log('传来uname:'+uname);
console.log('传来pwd:'+pwd);
user.login(request,response);
response.end('');
});//注册监听
user.zhuce(request, response);
}
}).listen(8000);
console.log('Server running at http://127.0.0.1:8000/');

浙公网安备 33010602011771号