我对GraphQL非常陌生,所以也许我只是在这里缺少一些东西。 我目前正在使用PostGraphile创建Postgres SQL数据库的GraphQL端点 我能够执行查询,但是我刚刚了解到GraphQL订阅,并且显然here解释说PostGraphile支持它。这就是我在做什么。
const express = require("express");
const { postgraphile, makePluginHook } = require("postgraphile");
const { default: PgPubsub } = require("@graphile/pg-pubsub");
const pluginHook = makePluginHook([PgPubsub]);
var cors = require('cors');
const app = express();
app.use(cors());
let url = "postgres://postgres:docker@localhost:5432/dvdrental";
app.use(postgraphile(url,"public", {
graphiql:true,
pluginHook,
subscriptions: true,
simpleSubscriptions: true,
}));
app.listen(3000);
subscription {
listen(topic: "hello") {
query {
allPayments {
nodes {
customerId
paymentDate
nodeId
}
}
}
}
}
postgres=# select pg_notify( 'postgraphile:hello', '{}' );
但是我在graphiql响应上没有看到任何东西
这是我在WebSocket / Network面板@Benjie看到的内容。
{type:"ka}
操作似乎在随机间隔内触发。