Я пытаюсь выполнить запрос 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];
}
);
}
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"





Я считаю, что вы не выполняете правильное отображение в своей подписке. В вашем случае попробуйте следующее:
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));