Задача
Напишите promisify для превращения callback-функций (в стиле (err, result)) в функцию, возвращающую промис.
Пример
const readFilePromise = promisify(fs.readFile);
// Теперь можем использовать с .then()/.catch()
readFilePromise('file.txt', 'utf8')
.then((data) => {
console.log('Содержимое:', data);
})
.catch((err) => {
console.error('Ошибка:', err);
});Решение
Оптимальное решение
function promisify(fn) { return function (...args) { return new Promise((resolve, reject) => { fn(...args, (err, result) => { if (err) reject(err); else resolve(result); }); }); }; }