Зачем многие во vue js запросы выносят в services, а после вызывают запрос в vuex actions, когда можно просто писать его в actions?
Есть у нас vue.js, есть у нас vuex. Стал замечать, что многие выносят запросы в директорию
services.
Есть например сервис User:
import api from '../api' // Там axios
class UserService {
async getById (id) {
return await api.get('/user/', {
params: {
id
}
})
}
// Другие запросы с работой пользователя
}
export default UserService
Есть у нас vuex и его actions:
import UserService from '../services/UserService'
//...
export const actions = {
async getUserById ({ commit }, id) {
const { data } = await UserService.getById(id)
commit('setUser', data)
},
}
//...
Вопрос, зачем всё это? Есть у меня есть actions, которые работать с запросами
Почему не написать запросы в нём?
Для чего эта прослойка которая по сути своей ничего не делает? Потому как все примеры, что я встречал в жизни, это просто функции запросы.
P.S. Код придумал на ходу, так что прошу в случае чего, не обращать на синтаксис. Я лишь хотел передать суть своего вопроса этими примерами