const func = () => {
return new Promise((resolve, reject)=>{
let key = setTimeout(reject, 30000, 'Promise timeout');
// Какие-то действия асинхронные для получения результата промиса
removeTimeout(key);
resolve(data);
});
};
conf func = async function () {
try {
setTimeout((message)=>{
throw new Error(message);
} , 30000, 'Promise timeout');
// наш асинхронный запрос с использованием await
return result;
} catch (e) {
// что-то выполняем
return await Promise.reject(e);
// Альтернативный вариант Дмитрия:
throw e;
}
};
func().tnen(console.log).catch(console.error);