将nodejs回调方法变为promise

将nodejs里的类似fs.readFile('1.text',(err,data)=>{...})的回调方法变为promise的方式,如下

const newReadFile = promisify(fs.readFile);

newReadFile('1.txt')
  .then(data => {})
  .catch(err => {});

promisify实现如下:

function promisify(callback){
    return function(...args){
        return new Promise(function(resolve,reject){
            callback&&callback(...args,function(err,data){
                if(!err){
                    resolve(data)
                }else{
                    reject(err)
                }
            })
        })
    }
}

 

posted @ 2021-06-07 00:00  方小川  阅读(243)  评论(0编辑  收藏  举报