我有一个简单的JS文件读取的文本文件,并写入并读取更改的文件。为了便于学习,我已经实现了下面的代码。
当控制达到writeFile
,应该不会是在后台运行和控制应该去console.log("Test")
行,然后回到writeFile
?但它实际上完全执行WriteFile的,并且控制转到日志行基本上是同步行为。我失去了一些东西在这里?
console.log("Begin")
var fs = require("fs");
fs.readFile("input.txt", function(err, data) {
if (err) {
console.log(err);
} else {
console.log("Inside Read " + data.toString());
fs.writeFile("input.txt", "Replaced Text", function(err) {
if (err) {
console.log(err);
} else {
console.log("Inside Write");
var data = fs.readFileSync("Input.txt") console.log(data + " is the replaced text");
}
console.log("Test2");
});
}
});
console.log("Ended");
console.log("Test2")
是writeFile
回调函数内并不会运行,直到writeFile
完成。
var fs = require("fs");
fs.readFile("input.txt", function(err, data) {
console.log("This will second, after print after readFile is complete);
fs.writeFile("input.txt", "Replaced Text", function(err) {
console.log("This will print last, after writeFile is complete");
});
console.log("This will print third, before writeFile is complete");
});
console.log("This will print first");