概述
程序运行到一定阶段的时候会发出一个消息,对这个消息进行监听,作出响应;
==========================================
***************创建服务器
var http = require('http');
var fs = require('fs');
var url = require('url');
var uesrBean=require('./models/userEvent');//吧userEvent.js中的UserBean引用过来,用一个参数接收
http.createServer(function (request, response) {
response.writeHead(200, {'Content-Type': 'text/html'});
var pathname = url.parse(request.url).pathname;
if(pathname!="/favicon.ico"){
pathname=pathname.replace(///,"");// 吧/去掉
user=new uesrBean();//创建一个对象
user.eventEmit.once('zhuceS',function(uname,pwd){ //对zhuceS这个事件标识监听一次,给一个回调,这里的回调中的uname和pwd是被监听的zhuceS提供 的参数
response.write('注册成功');
user.login(request,response);//调用登陆的方法
response.end('');
});
user.zhuce(request,response);//调用zhuce的方法,在zhuce方法中会抛出一个事件消息,上面对抛出的zhuceS事件消息监听一次
}
}).listen(8000);
console.log('Server running at http://127.0.0.1:8000/');
**********************事件***********
var events=require('events');
function UserBean(){
this.eventEmit=new events.EventEmitter();//实例化时间发生器
this.zhuce=function(req,res){
console.log('注册');
req['uname']='a';
req['pwd']='b';
this.eventEmit.emit('zhuceS','aa','bb');//抛出事件消息,zhuceS是事件标识,会被监听,aa和bb是参数,这里的参数在监听的方法中会接收参数;
};
this.login=function(req,res){
console.log('登陆');
res.write(req['uname']);
res.write(req['pwd']);
res.write('登陆');
};
}
module.exports=UserBean;
最后
以上就是受伤冰棍为你收集整理的nodejs之事件处理机制(抛出事件、监听事件)的全部内容,希望文章能够帮你解决nodejs之事件处理机制(抛出事件、监听事件)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复