一项服务中每个查询与功能查询的单独服务

时间:2019-01-25 08:03:44

标签: apollo apollo-angular

我不明白为什么要为每种查询类型使用专用服务。但是使用这种方法,我将不得不为一个查询创建一个服务,而我不喜欢这样做,因为那时我将不得不在一个组件中注入两三个服务。

没有apollo angular和graphql,我将为功能设置服务。他们在他们的文档中提供了为查询或变异watch here创建单独的服务 可以按角度进行吗?就像在我当前的代码中一样(每个功能服务)

// 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;
  }
}

0 个答案:

没有答案