nodejs事件机制

var http = require('http');
var events = require('events');
var UserBean = require('./UserBean');

http.createServer(function(request,response){
	response.writeHead(200,{'Contet-Type':'text/html;charset=utf-8'});
	if(request.url!=='/favicon.ico'){
		user = new UserBean();
		user.eventEmit.once('zhucesecc',function(name,pwd){
			response.write('注册成功');
			console.log('传来name'+name);
			console.log('传来pwd'+pwd);
			user.login(request,response);
			response.end('');
		});// 注册监听

		// 这里先执行,成功了,上面once监听到才执行
		user.zhuce(request,response);
	}


}).listen(8000);
console.log('Server running at http://127.0.0.1:8000');
/*
Events 
	enevts.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(evebt) // 返回特定事件的事件监听器集合
	emitter.emit(event,[arg1],[arg2],[...]) // 用提供的参数按顺序执行每个事件监听器
*/
var events = require('events');
var http = require('http');
function UserBean(){
	// 实例化事件发生器
	this.eventEmit = new events.EventEmitter();
	this.zhuce =function(req,res){
		console.log('注册');
		req['name'] = 'aa';
		req['pwd'] = '123456';
		// 事件发生器的发生事件
		this.eventEmit.emit('zhucesecc','aa','123456');
	},
	this.login=function(req,res){
		console.log('登录');
		res.write('用户名:'+req['name']);
		res.write('密码:'+req['pwd']);
		res.write('登录');
	}

}
module.exports = UserBean;

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值