Обработка ошибок в async/await
происходит с помощью конструкции try-catch
. Если внутри функции, помеченной как async
, происходит ошибка, то она будет выброшена в виде исключения. Для обработки ошибок можно использовать конструкцию try-catch
, как в примере ниже:
async function getData() {
try {
const response = await fetch("https://example.com/data")
const data = await response.json()
return data
} catch (error) {
console.error(error)
return null
}
}
В этом примере мы используем try-catch
для обработки ошибок в асинхронной функции getData()
. Мы отправляем запрос на сервер с помощью fetch
и ожидаем завершения операции с помощью await
. Если операция завершается успешно, то мы преобразуем ответ в формат json с помощью response.json()
и возвращаем результат. Если операция завершается с ошибкой, то мы перехватываем исключение с помощью catch
, выводим сообщение об ошибке в консоль и возвращаем null
.
Кроме того, можно использовать метод finally
для выполнения каких-либо действий после завершения операции, независимо от того, была ли она выполнена успешно или с ошибкой:
async function getData() {
try {
const response = await fetch("https://example.com/data")
const data = await response.json()
return data
} catch (error) {
console.error(error)
return null
} finally {
console.log("Request completed.")
}
}
В этом примере мы добавили блок finally
, который будет выполнен после завершения операции, независимо от того, была ли она выполнена успешно или с ошибкой. В данном случае мы выводим сообщение в консоль, указывающее на то, что запрос завершен.
Таким образом, для обработки ошибок в async/await
можно использовать конструкцию try-catch
, а также метод finally
для выполнения каких-либо действий после завершения операции.