Node.js 中如何用异步的方式读取一个文件,下面是一个例子:
//readfile.jsvar fs = require('fs');fs.readFile('file.txt', 'utf-8', function(err, data) {if (err) {console.error(err);} else {console.log(data);}});console.log('end.');
运行的结果如下:
end.
Contents of the file.
——————————
Node.js 也提供了同步读取文件的 API:
//readfilesync.jsvar fs = require('fs');var data = fs.readFileSync('file.txt', 'utf-8');console.log(data);console.log('end.');
运行的结果与前面不同,如下所示:
$ node readfilesync.js
Contents of the file.
end.
同步式读取文件的方式比较容易理解,将文件名作为参数传入 fs.readFileSync 函
数,阻塞等待读取完成后,将文件的内容作为函数的返回值赋给 data 变量,接下来控制台
输出 data 的值,最后输出 end.。
异步式读取文件就稍微有些违反直觉了,end.先被输出。要想理解结果,我们必须先
知道在 Node.js 中,异步式 I/O 是通过回调函数来实现的。fs.readFile 接收了三个参数,
第一个是文件名,第二个是编码方式,第三个是一个函数,我们称这个函数为回调函数。
本站欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果
转载请注明: 文章转载自:爱思资源网 http://www.aseoe.com/show-70-407-1.html
转载请注明: 文章转载自:爱思资源网 http://www.aseoe.com/show-70-407-1.html