ApolloClient с Angular

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

Мой запрос:

export const GetAllCorpoQuery = gql`
query getAllCorpo($status: Boolean) {
    getAllCorpo(status: $status) {
        id
    }
}

`;

Мой компонентный метод:

filter() {
    const {nome, status} = this.entity
    const variables = {
        status
    };
    this.apollo.query<any>({query: GetAllCorpoQuery, variables, fetchPolicy: 'network-only'}).subscribe(({data}) => {
        console.info(data);
        this.corpos = data.getAllCorpo;

        const nome   = new MapColunaAtributo(this.colunas[0], 'nome');
        const status = new MapColunaAtributo(this.colunas[1], 'status');
        this.listPesquisa = [nome, status];
    }
);
}

Мой сетевой уровень: ApolloClient с Angular

The error:

    ERROR Error: Uncaught (in promise): Error: Network error: Error writing result to store for query:
 query getAllCorpo($status: Boolean) {
  getAllCorpo(status: $status) {
    id
    __typename
  }
}

Cannot read property 'getAllCorpo' of undefined
Error: Network error: Error writing result to store for query:
 query getAllCorpo($status: Boolean) {
  getAllCorpo(status: $status) {
    id
    __typename
  }
}

Кто-нибудь может мне помочь? Я использую angular 4.3.0 и

"apollo-angular": "^ 1.0.1",

"apollo-angular-link-http": "^ 1.0.2",

"apollo-cache-inmemory": "^ 1.1.12",

"аполлон-клиент": "^ 2.2.8"

Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Angular и React для вашего проекта веб-разработки?
Angular и React для вашего проекта веб-разработки?
Когда дело доходит до веб-разработки, выбор правильного front-end фреймворка имеет решающее значение. Angular и React - два самых популярных...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
Мое недавнее углубление в Angular
Мое недавнее углубление в Angular
Недавно я провел некоторое время, изучая фреймворк Angular, и я хотел поделиться своим опытом со всеми вами. Как человек, который любит глубоко...
Освоение Observables и Subjects в Rxjs:
Освоение Observables и Subjects в Rxjs:
Давайте начнем с основ и постепенно перейдем к более продвинутым концепциям в RxJS в Angular
1
0
513
1

Ответы 1

Я считаю, что вы не выполняете правильное отображение в своей подписке. В вашем случае попробуйте следующее:

this.apollo.query<any>({query: GetAllCorpoQuery, variables, fetchPolicy: 'network-only'}).subscribe(data => {
        console.info(data);
        this.corpos = data.getAllCorpo;

        const nome   = new MapColunaAtributo(this.colunas[0], 'nome');
        const status = new MapColunaAtributo(this.colunas[1], 'status');
        this.listPesquisa = [nome, status];
    }

Ваш ответ отличается от указанной в подписке структурой.

В ответ у вас есть такая структура:

{
  getAllCorpo: ...
}

Но в подписке вы пытаетесь получить доступ вот так:

subscribe(({data}) => ...

Я думаю, проблема есть. Вы должны использовать это так:

subscribe(data => console.info(data.getAllCorpo));

Другие вопросы по теме