-
Node.js事件触发对象有哪些方法?
-
详细讲讲Node.js事件机制是怎样的?
-
Node.js事件机制和JavaScript事件机制有什么区别?
-
Node.js非阻塞和高效调度事件的底层原因是什么?
-
你认为Node.js作为前端框架为什么备受推崇?
事件是驱动内部运转的重要机制?
-
Node.js事件触发对象有哪些方法?
- 在events模块中,为EventEmitter类本身定义了两个事件:
- newListener: emitter.on('newListener',fn)
- removeListener: emitter.on('removeListener', fn)
- EventEmitter.listenerCount (emitter, event)
- addListener和on方法作用一样, once 只执行一次
- emitter.on(eventName, listener)
- emitter.addListener(eventName, listener)
- emitter.once (eventName listener)
- setMaxListeners: emitter.setMaxListeners(n) 限制对于同一个事件做多可以绑几个事件
- listeners: emitter.listeners(eventName) 获取指定事件的所有事件处理函数
- removeListener: emitter.removeListener (eventName, listener) 解除某个事件处理函数
- removeAllListeners: emitter.removeAllListeners ( [eventName]) 批量接触
-
image.png
const { EventEmitter } = require("events");
const emitter = new EventEmitter();
// console.log(emitter);
emitter.on("someEvent", function (eventName, func) {
console.log("some_event 事件触发", eventName, func); // some_event 事件触发 arg1 参数 arg2 参数
});
emitter.on("someEvent", function (arg1, arg2) {
console.log("listener2", arg1, arg2); // listener2 arg1 参数 arg2 参数
});
emitter.emit("someEvent", "arg1 参数", "arg2 参数");
const arr = emitter.listeners("someEvent");
console.log(arr.length); // 2
-
详细讲讲Node.js事件机制是怎样的?
-
事件环中包含多个事件,按照顺序依次执行,通过回调函数执行下一个
-
当有新事件(触发事件,初始化该事件的回调函数等)进入,会优先处理新事件,处理完之后转回前一回调事件
-
称为非阻塞事件环机制
-
-
Node.js事件机制和JavaScript事件机制有什么区别?
-
前端事件源有很多,涉及键盘鼠标浏览器dom等,而Node的触发事件的角色就一种 EventEmitter
-
两者都是通过事件驱动,事件是驱动内部运转 的重要机制
-
-
Node.js非阻塞和高效调度事件的底层原因是什么?
- 在事件环机制执行中,事件按照顺序一直有序执行,没有阻塞
网友评论