asycn await 配合try catch
时间: 2023-10-21 10:57:20 浏览: 45
async/await 配合 try/catch 是用来处理异步操作中的异常的常见做法。在 JavaScript 中,使用 async/await 可以让我们更方便地编写和管理异步代码。
下面是一个使用 async/await 和 try/catch 处理异步操作异常的示例:
```javascript
async function fetchData() {
try {
const response = await fetch('https://example.com/data');
const data = await response.json();
return data;
} catch (error) {
console.log('Error:', error);
throw error;
}
}
async function main() {
try {
const result = await fetchData();
console.log('Data:', result);
} catch (error) {
console.log('Error occurred:', error);
}
}
main();
```
在上面的示例中,`fetchData` 函数使用 `await` 关键字等待 `fetch` 请求的响应,并使用 `await` 关键字等待响应数据的解析。如果在这些异步操作过程中发生了错误,`try/catch` 块将捕获到异常,并执行相应的错误处理逻辑。
在 `catch` 块中,我们可以记录错误信息或执行其他处理操作。如果需要将错误继续抛出,可以使用 `throw` 关键字将错误重新抛出,以便在上层的调用处再次进行错误处理。
在 `main` 函数中调用 `fetchData` 函数时,同样使用 `try/catch` 块来处理可能发生的异常。这样,我们可以更好地控制和处理异步操作的错误。
请注意,`async/await` 只是一种语法糖,它基于 Promise 实现。在使用 `async/await` 时,我们仍然需要在异步操作中处理 Promise 的状态。