この解答例はChatGPTによって生成されています,正しいかは自己判断で。

BFE.devでのAI解答例 - JavaScript コーディング問題
159. promisify() を実装する

以下は、promisify()を実装した例です。

const promisify = (func) => {
  return (...args) => {
    return new Promise((resolve, reject) => {
      func(...args, (error, data) => {
        if (error) {
          reject(error)
        } else {
          resolve(data)
        }
      })
    })
  }
}

このように、promisify()は与えられた関数をラップし、Promiseを返すように変換します。このように、Promiseオブジェクトを使用することによって非同期処理をより簡単にハンドリングすることができます。