本文共 1358 字,大约阅读时间需要 4 分钟。
程序运行到一定阶段的时候会发出一个消息,对这个消息进行监听,作出响应;
==========================================
***************创建服务器
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;
转载地址:http://ynmgi.baihongyu.com/