首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >nodejs/vanilla中的Apollo-client未触发订阅

nodejs/vanilla中的Apollo-client未触发订阅
EN

Stack Overflow用户
提问于 2019-06-01 22:32:29
回答 1查看 567关注 0票数 0

我使用的是Apollo graphql框架,似乎正在启动和运行订阅。但我无法从订阅中获取任何触发的事件,而且围绕Apollo客户端的文档很少涉及纯nodejs和vanilla javascript。

该项目正在为node-red制作一些节点,它将使用供应商的graphql接口来获取不同的电力消耗和电价数据。为此,我还需要使用订阅。这是graphql的新手,被推荐为apollo框架。

result = tibber.getSubscription('subscription{ liveMeasurement(homeId:"c70dcbe5-4485-4821-933d-a8a86452737b"){timestamp power maxPower accumulatedConsumption accumulatedCost}}');
// returns an Observable from the apollo client subscribe()
// client.subscribe({ query: gql`${query}` });

let sub = result.subscribe({
    next (data) { console.log(data); },
    error (err) { console.log(err); }
  });

我本以为console.log会在几秒钟后触发一些数据,因为此订阅与供应商的api explorer上的演示帐户一起工作。未返回错误,并且订阅对象(sub)处于“就绪”状态。

EN

回答 1

Stack Overflow用户

发布于 2019-06-03 01:00:24

我的建议:分而治之,征服

我会从使用apollo客户端的标准react应用程序开始。为了简单起见,您可以使用<Query/>组件。在这一步中,最重要的是熟悉authentication

下一步:直接使用客户端,不使用组件。仍在使用react use ApolloConsumer -您的组件可以访问client prop。您可以使用从componentDidMount() (console.logsetState)调用的client.query()

如果你更喜欢香草,this tutorial可能更合适。

下一步将是与subscriptions合作。同样,从<Subscription/>组件开始。在此之后,您应该已经正确配置了客户端(传输、身份验证)。

在此步骤中,您将开始移动到节点env,f.e。寻找像this这样的例子,并结合早期获得的知识。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56407617

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档