отдельная служба для каждого запроса против запросов функций в одной службе - PullRequest
0 голосов
/ 25 января 2019

Я не могу понять, почему я должен использовать выделенный сервис для каждого типа запроса.Но при таком подходе мне пришлось бы создавать сервис только для одного запроса, и мне это не нравится, так как тогда мне придется вводить два-три сервиса в один компонент.

Без 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;
  }
}
...