如何将文件内容复制到字符串中?

时间:2015-10-21 15:34:38

标签: node.js

我正在尝试"翻译"我用Ruby完成的旧脚本到node.js.其中一个是关于CSV解析,我陷入第一步 - 将文件加载到字符串中。

这会将我的文件内容打印到控制台:

fs = require('fs');
fs.readFile("2015 - Best of.csv", 'utf8', function (err,data) {
  if (err) {
    return console.log(err);
  }
  console.log(data);
});

但出于某种原因,我无法将数据捕获到变量中:

fs = require('fs');
var x = "";
fs.readFile("2015 - Best of.csv", 'utf8', function (err,data) {
  if (err) {
    return console.log(err);
  }
  x = x + data;
});
console.log(x);

如何存储(功能' s)数据'变量为(全局)' x'变量?

1 个答案:

答案 0 :(得分:3)

它正在发挥作用。

问题是你在填充之前记录了x。由于调用是异步的,因此x变量将只包含函数内部字符串的内容。

您还可以看到:fs.readFileSync函数。

但是,我建议您使用节点的异步功能更加舒适。

试试这个:

fs = require('fs');
var x = "";
fs.readFile("2015 - Best of.csv", 'utf8', function (err,data) {
  if (err) {
    return console.log(err);
  }
  x = x + data;
  console.log(x);
});