一般用法
var path = require("path");
var fs = require("fs");
//let filePath = path.join(__dirname, "..", "leavemsg");
function run(filePath) {
    let str;
    fs.readFile(filePath,{encoding:"utf-8"}, function (err, fr) {
           //readFile回调函数
           if (err) {
             console.log(err);
            }else {
             str = fr;
            }
        });
    return str;
}
以上写法,没有考虑异步,可能会出现一些问题 返回结果可能为空! 
注:如果你的处理逻辑在readFile回调函数里面则没有问题!
2、高级用法
const readFile = require("util").promisify(fs.readFile);
async function run(filePath) {
  try {
      const fr = await readFile(filePath,"utf-8");
      return fr;
   } catch (err) {
      console.log(‘Error‘, err);
   }    
}
这种写法在调用run函数时,会等待readFile读取出内容后再返回!
转自:https://blog.csdn.net/chaoyangsun/article/details/79132163
原文:https://www.cnblogs.com/1906859953Lucas/p/9595649.html