我是靠谱客的博主 受伤冰棍,最近开发中收集的这篇文章主要介绍nodejs之事件处理机制(抛出事件、监听事件),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

程序运行到一定阶段的时候会发出一个消息,对这个消息进行监听,作出响应;

==========================================

***************创建服务器

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之事件处理机制(抛出事件、监听事件)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(33)

评论列表共有 0 条评论

立即
投稿
返回
顶部