即使我没有错误并且我能够打印文件数据,input_1在整个循环中似乎没有变为true。因此,我不打印'y',只是一个无穷无尽的x系列。我希望while循环等到input_1变量发生变化,我不想使用promises。
var fs = require("fs");
var input_1 = false;
var input_2 = false;
fs.readFile('input.txt', function(err, data){
if (err) {return console.log(err);};
console.log(data.toString());
input_1 = true;
})
fs.readFile('input2.txt', function(err, data){
if (err) {return console.log(err);};
console.log(data.toString());
input_2 = true;
})
while(!input_1){
console.log('x')
}
console.log('y')
答案 0 :(得分:0)
在这种情况下我可能错了,但目前我看来是一个异步问题。我并不完全熟悉nodeJS中的readFile函数,但您可能需要做的是从文件读取器或回调中链接一个promise。
我认为潜在的问题是while循环在回调改变你一直在测试的变量的值之前运行。