我有一个函数返回一个文件是否包含字符串的布尔值。我知道checkFileForString函数运行并正确地将布尔值赋值为true,但底部的if语句中的代码不会运行。
var checkFileForString = function (fileName) {
var yesStringFound = false;
fs.readFile(fileName, function (err, data) {
if (err) throw err;
if(data.indexOf('yes') >= 0){
yesStringFound = true;
}
console.log('YES STRING FOUND: ' + yesStringFound);
});
return yesStringFound;
};
console.log("instanceCount >= 4...");
if (checkFileForString(quadrantFile0) == true) { //todo: confirm and fix
console.log("runs...");
assignToQuadrant(0, maxInstances);
quadrantOccupied = 0;
setQuadrantAsUnavailable(quadrantOccupied);
}
答案 0 :(得分:0)
解决方案我得到了@nnnnnn的帮助:
var checkFileForString = function (fileName) {
var yesStringFound = false;
var jsonFile = fs.readFileSync(fileName);
if(jsonFile.indexOf('yes') >= 0)
yesStringFound = true;
return yesStringFound;
};