7、Promise封装js读取文件

212 阅读1分钟

7、Promise封装js读取文件

/**
 * 封装一个函数 mineReadFile 读取文件内容
 * @param {*} path  文件路径
 * @returns  Promise对象
 */
function mineReadFile(path) {
  return new Promise((resolve, reject) => {
    //读取文件
    require("fs").readFile(path, (err, data) => {
      //失败
      if (err) reject(err)
      
      //成功
      resolve(data)
    })
  })
}

mineReadFile("./resource/content.txt").then(value => {
  console.log(value.toString())
},
  reason => {
    console.log(reason)
  })
        

8、util.promise方法进行promise风格转化


//传入一个遵循常见的错误优先的回调风格的函数

//引入util模块
const util = require("util")

//引入fs模块
const fs = require("fs")

//返回一个新的函数
let mineReadFile = util.promisify(fs.readFile)

mineReadFile("./resource/content.txt").then(value => {
  console.log(value.toString())  
})