Я работаю над проектом с Angular 6 и GraphQL. Я читал всевозможные реализации, и некоторые из них работают, а некоторые нет.
В частности, мне нужно выполнять запрос GraphQL всякий раз, когда мне нравится, но Angular ничего не делает, например, если у меня есть два разных watchQuery в методе ngOnInit:
ngOnInit() {
this.fieldbookList = this.apollo.watchQuery<Query>({
query: gql`
query getAllFieldBook
{
allFieldBook {
_id
field_number
lote
variety
}
}
`,
fetchPolicy: 'no-cache'
})
.valueChanges
.pipe(map(
result => result.data.allFieldBook
));
this.usuarios = this.apollo.watchQuery<Query>({
query: gql`
query getUsers($perfil:String!){
allUsers(perfil:$perfil){
username
nombre
perfil
apellido_paterno
apellido_materno
email
rut
}
}
`,
variables: { perfil : "Cliente" },
fetchPolicy: 'no-cache'
})
.valueChanges
.pipe(map(
result => result.data.allUsers
));
}
Первый запрос проходит хорошо. Второй, ничего не делать. Я действительно не понимаю, почему это не работает.
Определение обоих объектов как наблюдаемых:
export class ListComponent implements OnInit {
fieldbookList: Observable<FieldbookSearch[]>;
usuarios: Observable<Usuarios[]>;
Основная проблема здесь заключается в том, что мне нужно передать переменную из первого результата во второй запрос, но второй не проходит через сеть. В моей консоли отладчика я вижу только один вызов graphql, а не оба:
Образ консоли отладчика
Может быть, подход не в порядке? Вы когда-нибудь сталкивались с такими проблемами? Я уже прошел три ночи, пытаясь решить это. Любая хорошая ссылка для решения этой проблемы будет приветствоваться, или любая информация.
Уже прочитано это
Спасибо!