привет!
есть такой код:
export const getBlog = (spinner = null) => (dispatch) => {
dispatch(setSpinner(spinner));
axiosGetBlog()
.then((response) => {
dispatch(setPosts(response.result, 1));
})
.catch(console.log)
.finally(() => {
dispatch(closeSpinner());
});
};
export const getPubl = (spinner = null) => (dispatch) => {
dispatch(setSpinner(spinner));
axiosGetPubl()
.then((response) => {
dispatch(setPosts(response.result, 2));
})
.catch(console.log)
.finally(() => {
dispatch(closeSpinner());
});
};
export const getMat = (spinner = null) => (dispatch) => {
dispatch(setSpinner(spinner));
axiosGetMat()
.then((response) => {
dispatch(setPosts(response.result, 3));
})
.catch(console.log)
.finally(() => {
dispatch(closeSpinner());
});
};
то есть по сути код дублируется 3 раза, единственное отличие - в промисе. Можно как-нибудь схлопнуть этот код в одну функцию? Например, в аргументах функции помимо spinner будет mode, в зависимости от которого будет вызываться тот или иной промис (axiosGetMat/getPubl/getBlog)