node 小记

no'dejs 几乎所有的api都支持回调函数,基本上所有的事件机制都是用设计模式中的观察者模式实现的。nodejs单线程类似进入一个while的事件循环,直到没有事件观察者退出,

每个异步事件都生成一个事件观察者,如果有事件发生就调用该回调函数。

事件驱动程序

nodejs使用事件驱动模式,当web server接收到请求,就把它关闭然后进行处理,然后去服务下一个web请求。当这个请求完成,它就放回处理队列,当到达队列开头,这个结果

将返回给用户。这个模型非常高效可扩展性非常强,因为webserver一直接受请求而不等待任何读写操作,这也称为非阻塞式IO或者事件驱动IO在事件驱动模型中,在事件驱动模型中,会生成一个主循环来监听事件,当检测到事件时触发回调函数。

nodejs EventEmitter

nodejs 所有的异步I/O操作完成时都会发送一个事件到事件队列。

nodejs中的许多对象都会分发事件:一个net.server 对象会在每次有新连接时触发一个事件,一个fs.readStream对象会在文件被打开时触发一个事件。所有这些产生事件的对象都是event.EventEmitter的实例。

events模块只提供一个对象,events.EventEmitter, EventEmitter的核心就是事件触发和事件监听器功能的封装。

原文地址:https://www.cnblogs.com/xiaofenguo/p/12125366.html