Назад к вопросам
JuniorТеорияЧасто
Что выведет программа (строки через пробел)?
async function load() {
throw new Error("bad");
}
try {
load().catch(() => console.log(1));
console.log(2);
} catch (e) {
console.log(3);
}2 1
- Ждать
3:throwвнутриasync-функции не бросает ошибку в месте вызова, а отклоняет возвращённый промис, и видит её только.catch. - Ждать
1первой строкой: колбэк.catchждёт в очереди микрозадач, пока не закончится текущий код вместе сconsole.log(2).
- Как изменить программу, чтобы ошибку поймал блок
try…catch? - Что произойдёт, если убрать
.catch(() => console.log(1))?