Перехват ошибок из асинхронной функции в блоке try..catch вне асинхронной функцииJavascript

Форум по Javascript
Ответить Пред. темаСлед. тема
Anonymous
 Перехват ошибок из асинхронной функции в блоке try..catch вне асинхронной функции

Сообщение Anonymous »

Итак, я делаю урок, в котором есть часть об асинхронном JavaScript. Я чувствую, что у меня все хорошо написано, но он включает в себя этот раздел, который, по моему мнению, не подходит для обнаружения ошибок?
async function myFunction {
// ...
await someObject.methodThatReturnsPromise();
// ...
await aFunctionThatReturnsPromise();
// ...
}

try {
// ...
myFunction();
// ...
} catch (e) {
// error handling code
}

Это объяснение.

Вы можете увидеть, как это работает, на примере ниже. myFunction() — это
асинхронная функция, вызываемая внутри блока try...catch. Когда запускается
myFunction(), выполнение кода приостанавливается в
methodThatReturnsPromise() до тех пор, пока обещание не будет разрешено, после чего
код переходит к aFunctionThatReturnsPromise() и снова ждет.
Код в блоке catch запускается, если в
асинхронной функции возникает ошибка, и это произойдет, если обещание, возвращаемое
любым из методов, отклонено.

Я так понимаю, это все неверно? Чтобы перехватывать ошибки, либо поместите блок try...catch внутри myFunction(), либо перехватывайте ошибки при вызове myFunction() в глобальном контексте с помощьюmyFunction().catch((error) => console.log(error));


Подробнее здесь: https://stackoverflow.com/questions/793 ... nc-functio
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Javascript»