Я недавно читал об async / await и использовал try и catch для обработки отклонений обещаний и применял его к некоторым моим старым кодам.
У меня есть следующее:
async function() {
try {
await Promise.all([some functions]);
doIfNoError();
} catch (error) {
console.log(error);
}
Функции, которые я передаю в Promise.all, имеют следующую форму:
async function() {
some code
if (some condition) {
return true
} else {
throw false
}
}
Я предполагаю, что если какая-либо из функций, переданных в Promise.all, будет отклонена, отобразится отклонение.Если ни одна из функций не отклоняет, doIfNoError должен сработать.Однако doIfNoError иногда срабатывает, когда не должен, и мне выдается сообщение об ошибке «Unhandled Promise Rejection».