ssu*_*hat 6 reactjs react-redux axios
我有https://github.com/svrcekmichal/redux-axios-middleware的问题.
我想设置拦截器响应(错误).但无法成功设置它.
这是我的代码:
function interceptorResponse({ dispatch, getState, getAction }, response) {
console.log(response);
}
export const client = axios.create({
baseURL: API_URL,
headers: {
Accept: 'application/json',
},
});
export const clientOptions = {
interceptors: {
request: [interceptorRequest],
response: [interceptorResponse],
},
};
Run Code Online (Sandbox Code Playgroud)
该console.log(response)响应是否只响应200.如何将其设置为接受错误响应?
我试过像这样设置它
function interceptorResponse({ dispatch, getState, getAction }) {
return response => response.data, (error) => {
const meta = error.response.data.meta;
const { code, status } = meta;
console.log(meta);
};
}
Run Code Online (Sandbox Code Playgroud)
但仍然没有显示任何东西.
任何解决方案?
这是ES6的用法示例:
import axios from 'axios'
import axiosMiddleware from 'redux-axios-middleware'
const options = {
// not required, but use-full configuration option
returnRejectedPromiseOnError: true,
interceptors: {
request: [
({ getState, dispatch }, config) => {
// Request interception
return config
}
],
response: [
{
success: ({ dispatch }, response) => {
// Response interception
return response
},
error: ({ dispatch }, error) => {
// Response Error Interception
return Promise.reject(error)
}
}
]
}
}
export default axiosMiddleware(axios, options)
Run Code Online (Sandbox Code Playgroud)
请注意,创建的中间件应传递给createStore()
| 归档时间: |
|
| 查看次数: |
2561 次 |
| 最近记录: |