Write a generic `promisify(fn)` that converts a Node.js callback-style function into one that returns a promise.
Problem Statement
Write a generic `promisify(fn)` that converts a Node.js callback-style function into one that returns a promise.
Complexity
Time Complexity: -
Space Complexity: -
Hints
š” Hint 1:
The promisified function should return a new Promise.
š” Hint 2:
Call the original function with a callback that resolves or rejects the promise.
š” Hint 3:
return (...args) => new Promise((resolve, reject) => fn(...args, (err, result) => err ? reject(err) : resolve(result)));
ā
Solution:
```javascript
function promisify(fn) {
return (...args) => new Promise((resolve, reject) => {
fn(...args, (err, result) => {
if (err) reject(err);
else resolve(result);
});
});
}
```