问题标签 [graphql-subscriptions]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
460 浏览

apollostack - Apollo Subscription 似乎没有在 Mutation 上被调用

Apollo 的新手,所以我决定采用我发现的最简单的例子,并尝试以稍微不同的方式来工作。我的代码可以在这里找到

我遇到的问题是,当我调用 Mutation 时,似乎没有调用 Subscription createTask()。突变和订阅在 schema.graphql 中定义为:

在 resolvers.js 中为:

我期望发生的是,每次在客户端运行以下命令时,我都会在服务器中获得一个 console.log:

但什么也没有发生。我错过了什么?

0 投票
1 回答
1105 浏览

python - 如何使用另一种编程语言连接到 apollo graphql-websocket?

目前我正在研究 Apollo 的 GraphQL Server,以替换我们当前的 Java 实现。由于我们可能还想使用订阅,因此我尝试启动并运行一些简单的服务器-客户端概念证明。我使用 GitHunt 示例让订阅部分正常工作。

因为我真的不需要也不想要 UI。现在,我想要一个简单的客户端来接收来自订阅界面的通知。据我所知,这是 Websocket。知道了这一点,我创建了一个 Python 脚本,它打开一个到指定主机和端口 (ws://localhost:8090)的websocket 。这会导致错误的握手错误

我可以通过什么方式前进?除了 apollo-client 之外,是否有人已经创建了一个客户端?如果是这样; 你如何创建websocket?

0 投票
1 回答
1847 浏览

react-native - 在 apollo 客户端中重新获取查询

所以我正在尝试构建一个小型搜索应用程序。我遇到的问题是当文本输入的状态发生变化时我无法重新获取查询。这是代码

所以我有这个父组件,它有 searchBar 组件,它是用户输入搜索查询的搜索栏,以及呈现结果的 searchResults 组件。只要 searchBar 组件中的文本发生更改,您就可以看到 Go Search 功能会更改状态。现在为 searchResults 组件..

},

我在这里尝试做的是,当父组件的状态发生变化时,它将作为道具在 searchResult 组件中传递,并在 graphQL 查询中作为变量传递。现在的问题是当道具改变时我无法重新获取它。我已经设置了 componentWillReceiveProps 来检查道具是否发生变化并重新获取数据,但它似乎不起作用。我已经阅读了一些关于订阅和 updateQueries 的文章,但我不确定这是否是我正在寻找的解决方案。需要绝望的帮助。提前致谢

0 投票
1 回答
612 浏览

javascript - GraphQL-订阅:如何在订阅解析器中获取已发布的对象

我正在使用带有 GraphQL 订阅和订阅-传输-ws 的快速服务器。

我已使用给定频道设置订阅:

收到突变后,在服务器上启动一个进程,测试运行的数据库条目在完成后更新。现在,当数据库操作的更新承诺通过时,应该通知客户端。

使用来自 pubsub 的发布功能,订阅管理器获取有关更新的测试运行的信息:

订阅管理器根据发布的 testRun 和订阅的 testRunId 过滤订阅后,调用订阅解析器函数。要更新客户端,我必须再次获取更新的测试运行。

如何在订阅解析器函数中获取已发布的测试运行对象?

订阅和解析器如下所示:

0 投票
1 回答
1432 浏览

graphql - GraphQL 订阅:调用 apolloClient.subscribe 时出错

我认为我的后端订阅设置正确。我在客户端使用角度,当我尝试调用时subscribe出现错误

然后这是控制台中出现的错误 {"type":"subscription_fail","id":0,"payload":{"errors":[{"message":"Cannot read property 'subscribe' of undefined"}]}}

也许我在后端遗漏了一些东西?我需要在 中定义setupFunctionsSubscriptionManager

这是我的订阅管理器

这是我在 graphQL 中的架构

0 投票
1 回答
2485 浏览

graphql - 未处理的 GraphQL 订阅错误

我在服务器上使用带有附加模块subscriptions-transport-ws和 graphql 的 apollo 客户端。

当服务器上发生 graphql 错误时,某种cannot return null for non-nullable...浏览器会告诉我有一个 apollo 有一个“未处理的 GraphQL 订阅错误”。

客户端订阅的错误处理如何工作?

0 投票
1 回答
605 浏览

angular - GraphQL 订阅:如何根据订阅中的事件更新对象

PasswordUpdated当事件发布到频道时,我正在尝试更新我之前检索到的用户密码。这是我到目前为止所尝试的,

但是,我刚刚从控制台中的错误中发现previousResult是不可变的。当我尝试在 中更新密码时previousResult,该属性具有writable: false. 我该如何解决这个问题?

0 投票
0 回答
398 浏览

angularjs - 带有订阅的 Apollo-Angular:模板未从订阅中获取更改

我在我的项目中使用apollo-angular+ 。subscriptions-transport-ws我有客户端设置来收听用户密码更新或新用户创建事件的订阅。这是它的设置方式

它似乎工作正常,并且可以通知userDataQuery更新。在 中userDataQuery,它以这种方式处理更新

userData 确实已成功更新,但是,更改未反映在模板上。我将不得不打电话this.ref.detectChanges();来更新模板。

模板非常简单

我在代码中遗漏了什么。我认为模板应该自动获取更改?

0 投票
2 回答
1848 浏览

mysql - Apollo 服务器订阅不起作用

我使用 Apollo Server、Sequelize(用于 ORM)、MySQL(DB)和 Express(Web 服务器)制作了一个 GraphQL 后端。

我还添加了订阅,问题就在那里。我什至无法使用 websocket 测试器到达 WS 端点。

有人可以查看我的代码并告诉我问题所在吗?我查看了文档和其他 stackoverflow 问题,但找不到任何解决方案。

代码:https ://github.com/seklyza/graphqlsubscriptions

谢谢大家

0 投票
2 回答
314 浏览

angular - 这个订阅有什么问题?我收到更新,但视图未刷新

我正在尝试使用 ApolloGraphql 完成的订阅来刷新计数器。 它几乎可以正常工作,因为我可以在开发工具中看到以下来自服务器的事件数据:

在此事件之前,计数器为 15。它应该变为 16,因为这是我得到的新值,但没有任何变化。视图永远不会刷新。为什么?

这是我的代码:

父组件

看法

服务

图式