Boolean fileContainsString不起作用

时间:2017-03-17 02:04:47

标签: javascript fs

我有一个函数返回一个文件是否包含字符串的布尔值。我知道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);
            }

1 个答案:

答案 0 :(得分:0)

解决方案我得到了@nnnnnn的帮助:

        var checkFileForString = function (fileName) {

            var yesStringFound = false;
            var jsonFile = fs.readFileSync(fileName);
            if(jsonFile.indexOf('yes') >= 0)
                yesStringFound = true;

            return yesStringFound;
        };