node事件驱动机制


title: nodejs事件驱动机制
date: 2020-08-11 17:07:37
tags: node


事件驱动模型

image.png

js是单进程单线程的程序,只能通过事件和回调,实现并发的效果,没有多线程的额外工作,所以性能比较高;
所有的api都是异步执行的。

几乎所有的事件依据都是通过观察者模式实现的。

每产生一个事件,都放进事件队列里,执行事件处理的函数。然后再回到事件队列取出下一个事件。
如果事件队列里没有事件,事件循环会休眠一小段时间再去检查

事件处理代码流程

1.引入events对象,创建eventEmitter对象(事件对象)
2.绑定事件处理程序,把对象和处理函数绑定到一起
3.触发事件

// 引入event模块并创建eventEmitter对象
var events = require('events');
var eventEmitter = new events.EventEmitter();

//绑定事件处理函数
var connectHandler = function connected(){
    console.log('conected被调用')
}
eventEmitter.on('connection', connectHandler()) // 完成事件绑定

// 触发事件
eventEmitter.emit('connection')
console.log('程序执行完毕')

事件和事件绑定

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容