159. promisify() を実装する
シェアしよう
簡単 - accepted / - tried
まずError-first callbackを見てみましょう。
const callback = (error, data) => {
if (error) {
// エラーの場合
} else {
// 成功の場合
}
}
上記のコールバックを最後の引数とする関数を考えましょう。
const func = (arg1, arg2, callback) => {
// 非同期の処理など
if (hasError) {
callback(someError)
} else {
callback(null, someData)
}
}
問題はもうお分かりでしょうか。promisify()を実装してください。
const promisedFunc = promisify(func)
promisedFunc().then((data) => {
// 成功の場合
}).catch((error) => {
// エラーの場合
})