Convert callback to promise (JavaScript function)
Say you have a function with the following signature, which requires a callback as argument:
someFunctionWithCallback(argOne, argTwo, callback)
To convert it to a Promise
‘d function do:
function someFunctionWithPromise(argOne, argTwo) {
return new Promise((resolve) => {
someFunctionWithCallback(argOne, argTwo, resolve);
});
}
That’s it.
Check a running demo here.
If you have an error callback as well
You really should handle errors. Say the signature is, then:
someFunctionWithCallback(argOne, argTwo, successCallback, errorCallback)
To convert it to a Promise
‘d function do:
function someFunctionWithPromise(argOne, argTwo) {
return new Promise((resolve, reject) => {
someFunctionWithCallback(argOne, argTwo, resolve, reject);
});
}
Consuming the Promise
‘d function
Either:
someFunctionWithPromise(1, 2).then((successArgs) => {
console.log("Success :) ", successArgs);
}).catch((errorArgs) => {
console.log("Error :( ", errorArgs);
});
Or use async
/await
:
(async () => {
try {
let successArgs = await someFunctionWithPromise(1, 2);
console.log("Success :) ", successArgs);
} catch (errorArgs) {
console.log("Error :( ", errorArgs);
}
})();
And done deal.
Don’t forget to check the running demo.
Leave a Comment