我必须从文件中读取数据,然后验证数据电子邮件是否匹配。 一旦完成,我将使用布尔值存储值。我将输出显示为“匹配”,但用户变量仍为“ false”,应为true。
let user = false;
const filename = path.resolve(__dirname, "../../users.txt");
newvar = fs.readFile(filename, "utf8", function(err, data) {
if (err) {
console.log(err);
}
const lines = data.split("\n");
for (i = 0; i < lines.length; i++) {
fileArray = lines[i].split("|");
fileName = fileArray[0];
fileEmail = fileArray[1];
filePasswordHash = fileArray[2];
if (email === fileEmail) {
console.log("It Matches");
user = true;
}
}
});
console.log(user);
答案 0 :(得分:0)
您的最后一行
console.log(user);
不能按预期工作,因为函数console.log(user)
执行值user
的时间尚未更改,即callback
函数尚未执行。