javascript - 如何导出在 Node.js 的回调函数中更新的变量

标签 javascript node.js

我是 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 );
    });

};

测试导出.js

var e2 = require ('./example2.js');
e2.readFile();
console.log ("From external file" + e2.buffer);

我应该如何导出它,以便缓冲区在 testExport.js 中具有正确的值?

最佳答案

您只需使用 fs.readFileSync() 即可加载文件一次:

var fs = require('fs')

exports.buffer = fs.readFileSync('S1.dat', { encoding: 'utf8' });

关于javascript - 如何导出在 Node.js 的回调函数中更新的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24475360/

相关文章:

javascript - Vee-validate 基本示例不起作用 - 错误未定义

JavaScript 检查字符串是否至少有三个字符在另一个变量中

javascript - 是否可以在后台从桌面浏览器获取 GPS 位置?

javascript - 用于更改 NVM Node 版本的 Bash 脚本

node.js - GCP 服务帐户 - NodeJS 脚本的访问被拒绝

javascript - 调用异步函数未按预期工作

javascript - Modal moSTLy 保持立即退出

node.js - 如何使用 Date.now() 修复日期错误

node.js - Node 永远无法在 Ubuntu 12.04.1 上运行

javascript - 如果哈希密码在数据库中,则可以在登录时在输入框中使用该哈希密码