const fs = requirefs const path = requirepath const textPath = pathjoin__dirname testmd 读取示例文件 fsreadFiletextPath utf8 err contrast = 通过promisefy转化为链式调用 const readFileSync = promisefyfsreadFil
该代码封装了一个promisefy函数,用于将回调函数形式的异步操作转化为Promise对象的形式,实现链式调用。具体实现如下:
const promisefy = (fn) => {
return (...arg) => {
return new Promise((resolve,reject)=>{
fn(...arg,(err,result)=>{
if(err){
reject(err)
}
resolve(result)
})
})
}
}
该函数接收一个函数fn作为参数,返回一个新的函数,该函数接收fn函数所需的参数arg,并返回一个Promise对象。在新函数中,调用fn函数,并将Promise的resolve和reject方法作为回调函数传入。如果fn函数执行成功,调用resolve方法并将结果传入;如果执行失败,调用reject方法并将错误信息传入。
该函数可以应用于任何需要异步操作的场景,如读取文件、发送请求等。通过promisefy函数对这些异步操作进行封装,可以让代码更加简洁、易于理解和维护。
原文地址: https://www.cveoy.top/t/topic/bkGt 著作权归作者所有。请勿转载和采集!