为什么阿波罗变异从未完成?

问题描述 投票:0回答:1

从那以后,我坚持使用阿波罗突变。

当我在angular apollo生成的代码上调用一个变异并订阅时,订阅永远不会完成。我想从服务器获取结果但没有返回任何内容。

我不知道为什么它永远不会完成。当我使用Postman直接调用带有post请求的graphql服务器时,我得到了预期的结果。

 constructor(
    private createAccount: CreateAccountGQL,) {
  }

ngOnInit() {
 this.createAccount.mutate({
      data: {
        uid: 'sdfsdfsdfs',
        username: 'yxydfsdsdsdfsfsfsd',
      },
    }).subscribe(result => {
       // THIS CODE NEVER EXECUTE
       console.log(result)
  });
}

这是生成的代码

@Injectable({
  providedIn: "root"
})
export class CreateAccountGQL extends Apollo.Mutation<
  CreateAccountMutation,
  CreateAccountVariables
> {
  document: any = gql`
    mutation createAccount($data: AccountCreateInput!) {
      createAccount(data: $data) {
        id
        username
        uid
      }
    }
  `;
}

我想在订阅完整回调中获得一些结果。请帮忙谢谢

angular typescript graphql apollo
1个回答
0
投票

我解决了我的问题。问题是我的模块中没有导入GraphQlModule。

这段代码工作。

this.apollo.mutate({
      mutation: gql`mutation createAccount($data: AccountCreateInput!) {
        createAccount(data: $data) {
          id
          username
          uid
        }
      }
    `,
    variables: {
      "data":{
        "uid": "DKpWcH6q2wRCTeUTigrQasdadsVcFfqaS2",
        "username": "[email protected]"
      }
    },
    }).subscribe(result => console.log(result))

此代码不起作用。可能是我需要导入另一个模块。


this.createAccount.mutate({
      data: {
        uid: 'DKpWcH6q2wRCTeUTigrQasdadsVcFfqaS2',
        username: '[email protected]',
      },
    }).subscribe(result => {
      console.log(result);
    });

谢谢

© www.soinside.com 2019 - 2024. All rights reserved.