axios请求超时捕获异常
时间: 2023-08-27 15:19:37 浏览: 243
Ajax请求session超时处理流程
4星 · 用户满意度95%
在使用 Axios 发起请求时,你可以通过配置超时时间和使用 try-catch 块来捕获请求超时的异常。下面是一个示例:
```javascript
import axios from 'axios';
async function makeRequest() {
try {
const response = await axios.get('https://api.example.com', { timeout: 5000 });
// 处理响应
} catch (error) {
if (error.code === 'ECONNABORTED') {
// 请求超时的处理逻辑
console.log('请求超时');
} else {
// 其他错误的处理逻辑
console.log('请求发生错误');
}
}
}
makeRequest();
```
在上面的示例中,我们使用 `axios.get` 方法发起 GET 请求,并通过配置 `timeout` 选项设置了超时时间为 5 秒。如果请求在超过设定的超时时间后仍未完成,将会触发一个 `ECONNABORTED` 类型的错误,我们可以通过检查这个错误的 `code` 属性来判断是否是超时错误。
在 `catch` 块中,我们可以根据错误的类型进行不同的处理。如果是超时错误,我们打印了一个提示信息;如果是其他类型的错误,我们也可以进行相应的处理。
请注意,如果你在浏览器环境中使用 Axios,可能会受到浏览器的跨域限制。在这种情况下,你需要确保服务器端正确配置了跨域资源共享(CORS)规则,以允许跨域请求。
阅读全文