Я не могу понять, почему я должен использовать выделенный сервис для каждого типа запроса.Но при таком подходе мне пришлось бы создавать сервис только для одного запроса, и мне это не нравится, так как тогда мне придется вводить два-три сервиса в один компонент.
Без apollo angular и graphql я бы установил сервис для функции.В своей документации они предлагают создать отдельный сервис для запроса или мутации смотреть здесь Можно ли делать это угловым способом?Как в моем текущем коде (каждый сервис для функции)
// all queries for employee are in this service (no need to create a banch of services)
export class EmployeeGQLService {
constructor(private apollo: Apollo) { }
getAllEmployees() {
return this.apollo.watchQuery<{employees: Employee[]}>({
query: employeesQueries.GET_EMPLOYEES_LIST
})
.valueChanges;
}
getEmployeeById(id: string) {
console.log(id);
return this.apollo.watchQuery<{employee: Employee}>({
query: employeesQueries.GET_EMPLOYEE_BY_ID,
variables: {
id: id
}
})
.valueChanges;
}
}