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) => { // エラーの場合})