如何在节点js中一起使用writeFile和readFile

时间:2017-10-07 14:04:18

标签: javascript node.js asynchronous

在下面的代码中,undefined变为11111。我希望它等于const fs = require('fs'); fs.writeFile('./1.txt','11111',function(err,data{ var content1 = fs.readFile('./1.txt',function(err,data){ console.log(content1); }); });

''

2 个答案:

答案 0 :(得分:2)

readFile没有返回值。

读取文件的内容将位于回调函数的参数data中。您还应该在选项参数中包含编码,以便您可以将内容写入/打印为文本。

const fs = require('fs');
fs.writeFile('./1.txt','11111','utf8',function(err,data){
  fs.readFile('./1.txt','uft8',function(err, content1){
    console.log(content1);
  });
});

答案 1 :(得分:0)

您的代码中实际上缺少两件事:

1- writeFilereadFile函数都是异步的,只有回调函数才能访问结果,或者如果它被处理则是promise,因此在下面的代码中我们使用回调函数访问结果

2-考虑使用writeFile和readFile的回调结果使用2个不同的名称,因为在这两个名称中使用data

试试这个:

const fs = require('fs');

fs.writeFile('./1.txt', '11111', function(err, writeData) {
    fs.readFile('./1.txt',  "utf8", function(err, readData) {
        console.log(readData);
    });
});