码迷,mamicode.com
首页 > 其他好文 > 详细

node的发布订阅

时间:2018-09-26 19:14:27      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:func   names   eve   原型   子类   ams   ntc   ltm   默认   

  子类继承父类 :util.inherits(childConstructor,parentConstructor);

  

let EventEmitter = require(‘events‘);
let util = require(‘util‘);
function Girl(params) {
  
}
util.inherits(Girl, EventEmitter); // 子类继承父类原型上的方法
console.log(EventEmitter.defaultMaxListeners); // 默认最大监听数是10个
let g = new Girl();
g.on(‘newListener‘,(type)=>{ // 当调用on会触发此事件
  console.log(type)
})
let cry = function () {
  console.log(‘哭‘)
}
g.addListener(‘女生失恋‘, cry);
g.once(‘女生失恋‘, function (who) {
  console.log(‘喝酒‘+who)
});
g.prependListener(‘女生失恋‘,()=>{
  console.log(‘大哭‘)
})
console.log(g.eventNames()); // 当前有哪些事进行了订阅
console.log(g.setMaxListeners(3));
console.log(g.getMaxListeners());

g.removeListener(‘女生失恋‘, cry);
console.log(g.listeners(‘女生失恋‘));

g.emit(‘女生失恋‘,‘某某‘)
g.emit(‘女生失恋‘,‘某某‘)
// on多次触发执行多次 once 是执行后就销毁

 

node的发布订阅

标签:func   names   eve   原型   子类   ams   ntc   ltm   默认   

原文地址:https://www.cnblogs.com/qiaohong/p/9708762.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!