【问题标题】:Lighthouse graphql subscriptionsLighthouse graphql 订阅
【发布时间】:2019-12-02 10:42:36
【问题描述】:
【问题讨论】:
标签:
php
laravel
graphql
laravel-lighthouse
【解决方案1】:
默认情况下,Lighthouse 订阅通过Pusher-服务发送。当您运行以下查询时,Lighthouse 将注册订阅服务器端。
subscription PostUpdated {
postUpdated(id: 123) {
title
}
}
查询将返回一个 Pusher-channel(参见下面的示例)。您刚刚创建的订阅中的任何事件都将发送到此频道。您的客户端实现必须能够订阅 Pusher 消息。如果您使用的是 Apollo 或 Relay modern,您可以查看 Lighthouse-docs 中的 sn-ps。
{
"data": {
"postUpdated": null
},
"extensions": {
"lighthouse_subscriptions": {
"version": 1,
"channels": {
"PostUpdated": "private-lighthouse-wlAyAuW8aBlthctY2rkRGRlaaGq30Iqr-1564126310"
}
}
}
}
每当 ID 为 123 的帖子发生更改时,您应该会通过 Pusher 收到一条消息,其中包含查询的数据。请注意,您必须使用@broadcast 指令或手动触发订阅,请参阅trigger subscriptions 了解更多信息。