当前位置: 首页 > 后端技术 > Node.js

将callback转化为promise

时间:2023-04-03 15:10:52 Node.js

其实是一个很简单的问题-_-我们现在都习惯使用promise了,但是还是经常会遇到一些回调形式的API,那就转化为promise吧。以node中的fs.readFile为例。constfs=require('fs')constpromisify=fn=>{returnfunction(path){returnnewPromise((resolve,reject)=>{fn.call(null,path,(err,data)=>{if(err){reject(err)}else{resolve(data)}})})}}constpReadFile=promisify(fs.readFile)pReadFile('./README.md').then(data=>{控制台.log(data.toString())}).catch(err=>{console.log(err)})asyncfunctiontest(){try{constdata=awaitpReadFile('./README.md')控制台。log(data.toString())}catch(err){console.log(err)}}测试()