node.js异步文件操作
2013-06-03 11:23
561 查看
nodejs的核心之一就是非阻塞的异步IO,文件读写操作时代码如下:
现在的问题是:这种异步是怎么实现的呢?我们知道读文件过程:Open-》Read-》Close,读文件必须按这个顺序执行,与node.js异布执行的机制是不同的。一种可能的方式是全部使用回调函数,在Open的回调中执行Read,在Read的回调中执行Close,但这样的方法显然不利于代码维护,逻辑上也混乱。另一种方法是使用事件通知机制。
如果node.js是完全单线程的,不管怎么说,Read时如果文件比较大,必然操作时间比较长,node.js就必须分多次执行,这样的结果是效率的降低,而不是提高。所以,事实上,读文件这种操作node.js也是在另一个线程中完成的。
var fs = require('fs'); fs.readFile('file.txt', 'utf-8', functino(err,data){ if (err) { console.error(err); } else { console.log(data); } }); console.log('end.');
现在的问题是:这种异步是怎么实现的呢?我们知道读文件过程:Open-》Read-》Close,读文件必须按这个顺序执行,与node.js异布执行的机制是不同的。一种可能的方式是全部使用回调函数,在Open的回调中执行Read,在Read的回调中执行Close,但这样的方法显然不利于代码维护,逻辑上也混乱。另一种方法是使用事件通知机制。
如果node.js是完全单线程的,不管怎么说,Read时如果文件比较大,必然操作时间比较长,node.js就必须分多次执行,这样的结果是效率的降低,而不是提高。所以,事实上,读文件这种操作node.js也是在另一个线程中完成的。
相关文章推荐
- Node.js 文件操作
- Node.js之操作文件系统(一)
- Node.js本地文件操作之文件拷贝与目录遍历的方法
- Node.js本地文件操作之文件拷贝与目录遍历的方法
- node.js学习笔记之文件读写操作
- node.js 文件操作
- Node.js程序中的本地文件操作用法小结
- node 操作文件流 fs 同步与异步 流式文件的写入与读取
- node.js 简单的异步文件遍历函数
- Node.js 学习笔记(1) 文件操作
- Node.js文件操作详解
- Node.js文件操作一
- node.js基于fs模块对系统文件及目录进行读写操作的方法详解
- Node.Js fs模块文件操作(三)
- Node.js权威指南 (6) - 在Node.js中操作文件系统
- Node.js学习-----------异步文件读取
- node.js零基础详细教程(2):模块化、fs文件操作模块、http创建服务模块
- Node.js本地文件操作之文件拷贝与目录遍历的方法
- 在Node.js中操作文件系统(一)
- Node.js文件操作二