Apollo Angular: после мутации вызов метода watchQuery не приводит к получению последних данных - PullRequest
0 голосов
/ 20 ноября 2018

После того, как я сделал мутацию, я вызываю метод watchQuery для извлечения обновленных строк, но он все еще выбирает старые данные.

public saveSite() {
    const _site = JSON.parse(JSON.stringify(this.siteForm.value));
    this.apollo.mutate({
      mutation: createSite,
      variables: {
        site_name: _site.name,
        desc: _site.desc,
        site_type_id: _site.sitetype
      }
    }).subscribe((dataVal) => {
      this.loading = dataVal.loading;
      this.errors = dataVal.errors;
      this.getSiteList();
    }, (error) => {
      this.errors = error;
    });
  }

public getSiteList() {
    this.loading = true;
    this.querySubscription = this.apollo
      .watchQuery({
        query: gql`
          {
            cmp_site{
              id
              desc
              site_name
              site_type_id
              sitetype{
                id
                name
              }
            }
          }
        `
      })
      .valueChanges.subscribe(result => {
        const sitedata: any = result.data;
        this.sites = sitedata.cmp_site;
        this.loading = result.loading;
        this.error = result.errors;
      });

После вызова мутации (saveSite ()) я вызываюgetSiteList () метод для получения последних данных, но он все еще выбирает старые данные.Как это исправить?

...