Вот несколько методов, связанных с «асинхронной try-catch»:
- Async/Await: Async/await — это современный синтаксис для написания асинхронного кода в JavaScript. Он позволяет писать асинхронный код, напоминающий синхронный код, что упрощает обработку ошибок с помощью блоков try-catch.
Пример:
async function fetchData() {
try {
const response = await fetch('https://api.example.com/data');
const data = await response.json();
// Handle the data
} catch (error) {
// Handle any errors that occurred during the async operations
console.log(error);
}
}
- Обещания. Обещания — это еще один способ обработки асинхронных операций в JavaScript. Вы можете использовать методы
then
иcatch
для обработки решенных и отклоненных обещаний соответственно.
Пример:
function fetchData() {
fetch('https://api.example.com/data')
.then(response => response.json())
.then(data => {
// Handle the data
})
.catch(error => {
// Handle any errors that occurred during the async operations
console.log(error);
});
}
- Промежуточное программное обеспечение для обработки ошибок. В серверных платформах, таких как Express.js, вы можете использовать промежуточное программное обеспечение для обработки ошибок для глобального обнаружения и обработки асинхронных ошибок. Этот подход централизует обработку ошибок и позволяет отделить логику ошибок от обычных обработчиков маршрутов.
Пример:
app.get('/data', async (req, res, next) => {
try {
const data = await fetchData();
res.json(data);
} catch (error) {
next(error); // Pass the error to the error handling middleware
}
});
app.use((err, req, res, next) => {
// Handle the error and send an appropriate response
res.status(500).json({ error: 'Internal Server Error' });
});