微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

graphql 查询“.watch().valueChanges.pipe”不发送

如何解决graphql 查询“.watch().valueChanges.pipe”不发送

我使用 graphql-code-generator 来生成服务 使用 Mutation 一切正常,但是当我尝试使用 Query 时,在 chrome 控制台中什么也没有发生,似乎 Angular Apollo 客户端从不发布查询,Nodejs Apollo 服务器(显然)从不接收任何内容,但只有 Query 调用

这是组件中的简单调用

getHello() {
        console.log('getHello');
        this.helloGQL.watch()
        .valueChanges
        .pipe(
          map(result => {
            console.log('got result',result);  
            //result.data.posts
        })
        );
    } 

这是插件生成的服务:

//查询返回字符串“欢迎” export const Hellodocument = gqlquery Hello { hello };

  @Injectable({
    providedIn: 'root'
  })
  export class HelloGQL extends Apollo.Query<HelloQuery,HelloQueryVariables> {
    document = Hellodocument;
    
    constructor(apollo: Apollo.Apollo) {
      super(apollo);
    }
  }

在 chrome 的调试控制台中,我尝试调试,但在网络菜单下我什么也没看到...没有从客户端到服务器的调用....

如果我尝试将 chrome 的 devTools 与此代码一起使用:

fetch('https://api.ADDRESS.com/apiV1/graphql',{
  method: 'POST',headers: { 'Content-Type': 'application/json' },body: JSON.stringify({ query: `
    query {
      hello
    }` 
  }),})
.then(res => res.json())
.then(res => console.log(res.data));

这是服务器的响应:

P {__zone_symbol__state: null,__zone_symbol__value: Array(0)}
VM191:11 {hello: "Welcome"}

不知道怎么解决....

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。