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/');  

  

猜你喜欢

转载自www.cnblogs.com/catherine007/p/9437097.html