159. 实现promisify()
分享给更多人
容易 -通过 / -执行
我们首先来看看Error-first callback。
const callback = (error, data) => {
if (error) {
// 出错的时候
} else {
// 成功的时候
}
}
现在考虑下以上述callback作为最后一个参数的函数。
const func = (arg1, arg2, callback) => {
// 一些异步逻辑
if (hasError) {
callback(someError)
} else {
callback(null, someData)
}
}
你大概已经猜到要做什么了。请实现promisify()。
const promisedFunc = promisify(func)
promisedFunc().then((data) => {
// 成功的时候
}).catch((error) => {
// 出错的时候
})