Node.js 事件循环详解及实例
2017-08-06 09:53
766 查看
Node.js 事件循环详解及实例
- Node.js 是单进程单线程应用程序,但是通过事件和回调支持并发,所以性能非常高。
- Node.js 的每一个 API 都是异步的,并作为一个独立线程运行,使用异步函数调用,并处理并发。
- Node.js 基本上所有的事件机制都是用设计模式中观察者模式实现。
- Node.js 单线程类似进入一个while(true)的事件循环,直到没有事件观察者退出,每个异步事件都生成一个事件观察者,如果有事件发生就调用该回调函数.
Node.js 有多个内置的事件,我们可以通过引入 events 模块,并通过实例化 EventEmitter 类来绑定和监听事件,如下实例:
// 引入 events 模块 var events = require('events'); // 创建 eventEmitter 对象 var eventEmitter = new events.EventEmitter(); // 创建事件处理程序 var connectHandler = function connected() { console.log(1); // 触发 data_received 事件 eventEmitter.emit('data_received'); } // 绑定 connection 事件处理程序 eventEmitter.on('connection', connectHandler); // 使用匿名函数绑定 data_received 事件 eventEmitter.on('data_received', function(){ console.log(2); }); // 触发 connection 事件 eventEmitter.emit('connection'); console.log(3);
在 Node 应用程序中,执行异步操作的函数将回调函数作为最后一个参数, 回调函数接收错误对象作为第一个参数。
var fs = require("fs") fs.readFile('input.txt',function(err,data){ if(err) console.log(err) else console.log(data.toString()) }) console.log("程序执行完成")
如有疑问,请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
您可能感兴趣的文章:
相关文章推荐
- C#事件实例详解
- 微信小程序 页面滑动事件的实例详解
- python开发之for循环操作实例详解
- C语言循环队列的表示与实现实例详解
- IOS 避免self循环引用的方法的实例详解
- Smarty循环实例详解
- 实例分析JS与Node.js中的事件循环
- Javascript事件实例详解
- 移动web开发之touch事件实例详解
- PHP foreach循环使用详解与实例代码
- C语言循环队列的表示与实现实例详解
- Node.js事件循环(Event Loop)和线程池详解
- js 实现一些跨浏览器的事件方法详解及实例
- iOS实现自动循环播放的banner实例详解
- C# foreach循环实例详解
- C语言单循环链表的表示与实现实例详解
- 在Python的一段程序中如何使用多次事件循环详解
- SQL Server 树形表非循环递归查询的实例详解
- java实现事件委托模式的实例详解