node.js study notes--HTTP event monitoring

Note: This blog is a study note when learning the basics of attacking Node.js (1) , thanks to Mr. Scott for his course.

Unlike html, node.js has event tags such as bubbling. In node, there are only event modules.

event event module

var EventEmitter = require('events').EventEmitter

var life = new EventEmitter() //创建一个EventEmitter实例

 //addEventListener 一个实例最多可以同时绑定十个事件否则就警报,按事件顺序执行

 life.on('求帮忙', function(who){
    
      //求帮忙是事件名字
    console.log('给 ' + who + ' 倒水' )
 }) //绑定事件

 life.on('求帮忙', function(who){
    
      
    console.log('给 ' + who + ' 洗衣服' )
 }) //绑定事件

 life.on('求帮忙', function(who){
    
      
    console.log('给 ' + who + ' 做饭' )
 }) //绑定事件

 life.on('求帮忙', function(who){
    
      
    console.log('给 ' + who + ' 洗碗' )
 }) //绑定事件

 //绑定事件另一种写法
 function cleaning(who){
    
    
    console.log('帮 ' + who + ' 扫地')
 }

 life.on('求帮忙',cleaning(who)) 


 life.emit('求帮忙', '我')  //触发事件


 life.removeListener('求帮忙', cleaning)
 //就可以移除这个监听事件
 life.removeAllListener('求帮忙')
 //移除这个事件名下的所有事件


 //不过也可以修改事件数量的最大值,注意下面这句要放在绑定事件的代码前
 life.setMaxListeners(11)

 var hasListened = life.emit('求帮忙', '我')
 //return true 这样写能判断一个事件有没有被监听 

 console.log(life.listeners('求帮忙').length)
 console.log(EventEmitter.listenerCount(life,'求帮忙'))
 //两种方法都会打印出来这个事件的个数

Guess you like

Origin blog.csdn.net/sriting/article/details/79631006