promisify

把callback形式的异步函数promisify化:

function promisify(fn) {
  return function(...args) {
    return new Promise((resolve, reject) => {
      fn.call(this, ...args, (err, content) => {
        if (err) {
          reject(err)
        }
        resolve(content)
      })
    })
  }
}

const {readFile} = require('fs')
let fn = promisify(readFile)

fn('./index.js', 'utf8')
.then(res => console.log(res))
.catch(err => console.log(err))
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容