Я пытаюсь получить состояние 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
});
}