function doThingThatAcceptsCallback(arg1, callback) { doThingThatReturnsAPromise(arg1) .then(function resolved(result) { callback(null, result); }) .catch(function rejected(error) { callback(error); }); } // same with es6 functions function doThingThatAcceptsCallbackES6(arg1, callback) { doThingThatReturnsAPromise(arg1) .then(result => callback(null, result)) .catch(error => callback(error); }