dpjayasekara
12/29/2017 - 9:07 AM

predictable-read-file.js

const cache = {};

function readFile(fileName, callback) {
    if (cache[filename]) {
        return process.nextTick(() => callback(null, cache[filename]));
    }

    fs.readFile(fileName, (err, fileContent) => {
        if (err) return callback(err);
        
        cache[fileName] = fileContent;
        callback(null, fileContent);
    });
}