【发布时间】:2014-06-30 01:17:08
【问题描述】:
我是 Node.js 的新手,在尝试一些基本代码时,我遇到了一个需要帮助的问题。 我有一个模块 example2.js,它读取文件的内容,我想导出一个变量,该变量将包含行文件的所有内容,我试图从 testExport.js 访问它
这是文件内容。
example2.js
var fs = require('fs')
var stream = fs.createReadStream('S1.dat', {flags: 'r', encoding: 'utf-8'});
var buf = "";
module.exports.buffer = buf ;
exports.readFile = function f() {
stream.on('data', function(d) {
module.exports.buffer+=d.toString();
console.log( "Inside function " + module.exports.buffer );
});
};
testExport.js
var e2 = require ('./example2.js');
e2.readFile();
console.log ("From external file" + e2.buffer);
我应该如何导出它以使缓冲区在 testExport.js 中具有正确的值?
【问题讨论】:
-
AFAIK,readFile 是异步的,所以你的日志不会工作。您应该将回调函数传递给 testExport.js 中的 readFile 方法。
-
@blessenm,你能给我一个如何使用回调的例子吗?我在几个地方见过它,但我无法正确实施。
标签: javascript node.js