与Apollo GraphQL订阅反应返回值

时间:2018-07-07 23:05:06

标签: graphql publish-subscribe apollo react-apollo

我正在使用Apollo GraphQL,正在努力降低pubsub的发布方面。这是我所拥有的:

发布:

    const tst = { string1: 'hi', string2: 'hello' };

    pubsub.publish("sub", tst);

GraphQL订阅

subscription ($Id: Int!) {
   test(Id: $Id){
      string1
      string2
   }
}

当我在graphiql中尝试此操作时,它仅返回[Object] [Object],这向我发出信号,指示出了问题。虽然我找不到错误代码。如果我将两者更改为此:

发布:

pubsub.publish("sub", tst: 'hi');

GraphQL订阅

subscription ($Id: Int!) {
   test(Id: $Id)
}

当触发发布时,GraphiQL将返回“ hi”。为什么我不能返回第一个设置?

编辑

以下是架构:

type Test {
    string1: String
    string2: String
}

这是订阅模式

test(Id: Int!): Test

1 个答案:

答案 0 :(得分:0)

找到了我的答案。我发布错误。

它应该在选项arugment中使用test而不是tst:

pubsub.publish("sub", { test: tst });