Возможно ли получить состояние «загрузки» с помощью сервиса GraphQL? - PullRequest
0 голосов
/ 06 марта 2020

Я пытаюсь получить состояние loading запроса в Angular, но оно говорит, что у моего типа нет свойства loading. Я пытался следовать официальной документации по этому вопросу.

Возможно ли получить состояние при использовании службы запросов?

query.service

import { Injectable } from '@angular/core';
import { Mutation } from 'apollo-angular';
import gql from 'graphql-tag';

export interface User {
  _id: string;
  firstName: string;
  lastName: string;
  email: string;
  confirmed: boolean;
  role: string;
  createdAt: Date;
  updatedAt: Date;
}

export interface SignUpInput {
  email: string;
  password: string;
  confirm: string;
  firstName: string;
  lastName: string;
  role?: string;
}

export interface SignUpStatus {
  success: boolean;
  message: string;
  created: User;
}

@Injectable({
  providedIn: 'root'
})
export class SignUpMutation extends Mutation<SignUpStatus> {
  document = gql`
        mutation signUp($SignUpInput: SignUpInput!) {
            signUp(SignUpInput: $SignUpInput) {
        success
        message
        created {
          id
          email
          firstName
          lastName
          role
          confirmed
        }
            }
        }
    `;
}


Метод в auth.service


  signUp(SignUpInput) {

    this.signUpMutation.mutate({ SignUpInput })
      .subscribe({
        next: ({ data, loading }) => {

          console.log(loading);
        }),
      error: console.log,
      });

}
  signIn(params) {

    this.signInMutation.mutate(params)
      .subscribe({

        next: ({ data, loading }) => {


          const signIn = data.signIn;

          localStorage.setItem('token', signIn.token);
          this.router.navigate(['dashboard']);

        },

        error: console.log
      });

  }

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...