const EventEmitter = require('events');
//自定义一个对象继承于EventEmitter
class MyEmitter extends EventEmitter { }
const myEmitter = new MyEmitter();
myEmitter.on('event', () => {
console.log('触发了一个事件!');
});
myEmitter.emit('event');
const EventEmitter = require('events');
class MyEmitter extends EventEmitter {}
const myEmitter = new MyEmitter();
myEmitter.on('event', (a,b) => {
console.log(a,b);
//1,2
});
myEmitter.emit('event','a','b');
const EventEmitter = require('events');
class MyEmitter extends EventEmitter {}
const myEmitter = new MyEmitter();
myEmitter.on('event', function() {
console.log(this);
/*
a b MyEmitter {
domain: null,
_events: { event: [Function] },
_eventsCount: 1,
_maxListeners: undefined
}
*/
});
myEmitter.emit('event');
const EventEmitter = require('events');
class MyEmitter extends EventEmitter {}
const myEmitter = new MyEmitter();
myEmitter.on('event', () => {
console.log(this);
//{}
});
myEmitter.emit('event');
const EventEmitter = require('events');
class MyEmitter extends EventEmitter {}
const myEmitter = new MyEmitter();
myEmitter.on('event', (a,b) => {
setImmediate(()=>{
//异步触发
console.log(a,b);
})
console.log("c");
});
myEmitter.emit('event','a','b');
//c
//a b
const EventEmitter = require('events')
class MyEmitter extends EventEmitter { }
const myEmitter = new MyEmitter();
let m = 0;
myEmitter.on('event', () => {
console.log(++m);
});
myEmitter.emit('event'); //1
myEmitter.emit('event'); //2
myEmitter.emit('event'); //3
const EventEmitter = require('events')
class MyEmitter extends EventEmitter { }
const myEmitter = new MyEmitter();
let m = 0;
myEmitter.once('event', () => {
console.log(++m);
});
myEmitter.emit('event'); //1
myEmitter.emit('event'); //忽略
myEmitter.emit('event'); //忽略
const EventEmitter = require('events');
class MyEmitter extends EventEmitter { }
const myEmitter = new MyEmitter();
myEmitter.emit("error", new Error('whoops!'));
// 抛出错误,并使 Node.js 崩溃
const EventEmitter = require('events')
class MyEmitter extends EventEmitter { }
const myEmitter = new MyEmitter();
//在进程上面注册错误监听,使进程不崩溃
process.on("uncaughtException",()=>{
console.error('有错误');
});
myEmitter.emit("error",new Error("whoops"))
const EventEmitter = require('events')
class MyEmitter extends EventEmitter { }
const myEmitter = new MyEmitter();
console.log(EventEmitter.defaultMaxListeners); //10
for (let i = 0; i < 11; i++) {
myEmitter.on("event", () => {
console.log(i);
});
}
myEmitter.emit("event")
//MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 event listeners added. Use emitter.setMaxListeners() to increase limit
const EventEmitter = require('events')
class MyEmitter extends EventEmitter { }
const myEmitter = new MyEmitter();
myEmitter.setMaxListeners(13);
for (let i = 0; i < 11; i++) {
myEmitter.on("event", () => {
console.log(i);
});
}
myEmitter.emit("event")
const EventEmitter = require('events')
class MyEmitter extends EventEmitter { }
const myEmitter = new MyEmitter()
myEmitter.once("newListener", (event, listener) => {
if(event === "event"){
myEmitter.on("event",()=>{
console.log("B");
})
}
});
myEmitter.on("event",()=>{
console.log("A");
});
myEmitter.emit("event")
/*
B
A
*/
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有