У меня есть асинхронная функция, которая захватывает содержимое файла, например:
async function getFile (name) {
return new Promise(function (resolve, reject) {
fs.readFile(`./dir/${name}.txt`, 'utf8', function (error, file) {
if (error) reject(error)
else resolve(file)
})
})
}
И я вызываю эту функцию в консольный журнал
getFile('name').then( console.log )
Если я сделаю ошибку, такую как неправильное написание имени файла, я получу эту удобную ошибку:
(node:17246) UnhandledPromiseRejectionWarning: Unhandled promise
rejection. This error originated either by throwing inside of an async
function without a catch block, or by rejecting a promise which was not
handled with .catch(). (rejection id: 1)
Я могу исправить это, выполнив это:
getFile('name').then( console.log ).catch( console.log )
, но есть лиспособ справиться с ошибкой в обратном вызове?Возможно попытка поймать?Как бы я это сделал?