util.callbackify()というのがそろそろNodeへ入りそう
util.promisify()
に関連して提案されました。
名前の通り、非同期関数をコールバック関数に変換する関数です。
つまり、util.promisify()
の反対版です。
const util = require('util'); async function fn() { return await Promise.resolve('hello world'); } // or // function fn() { // return new Promise((resolve, reject) => { // resolve('hello world'); // }); // } const callbackFunction = util.callbackify(fn); callbackFunction((err, ret) => { if (err) throw err; console.log(ret); });
引数にAsyncFunction
をとり、戻り値にコールバックが入った関数が返ります。
semver-minorとして入り、早ければ次のNode8.2.0に入るかもしれません。