>[danger]axios请求接口错误,即状态码非200的请求错误怎么捕获? 可以通过 Axios 的响应拦截器(response interceptor)来捕获状态码非 200 的请求错误。响应拦截器允许我们在接收到服务器响应之前对其进行处理,并可以统一处理错误。 下面是一个使用响应拦截器捕获请求错误的示例代码: ```javascript // 创建 Axios 实例 const axiosInstance = axios.create(); // 添加响应拦截器 axiosInstance.interceptors.response.use( function(response) { // 请求成功时的处理逻辑 return response; }, function(error) { // 请求错误时的处理逻辑 if (error.response) { // 请求发出后服务器返回非 200 状态码 console.error('Error status:', error.response.status); console.error('Error data:', error.response.data); } else if (error.request) { // 请求发出但没有收到响应 console.error('No response received:', error.request); } else { // 其他错误 console.error('Error:', error.message); } return Promise.reject(error); } ); // 使用 Axios 实例发送请求 axiosInstance.get('/api/example') .then(function(response) { // 处理请求成功的逻辑 console.log('Response:', response.data); }) .catch(function(error) { // 捕获请求错误 console.error('Request error:', error); }); ``` 在上述示例中,我们使用 `axios.create()` 方法创建了一个 Axios 实例 `axiosInstance`,并通过 `axiosInstance.interceptors.response.use()` 添加了响应拦截器。拦截器的第一个参数是处理请求成功的回调函数,第二个参数是处理请求错误的回调函数。 当服务器返回状态码非 200 时,会触发拦截器的第二个参数,即请求错误的回调函数。在这个回调函数中,可以进行相应的错误处理,如输出错误信息、记录日志等。同时,利用 `Promise.reject(error)` 可以将错误传递到后续的 `catch` 方法中进行捕获和处理。