Как использовать подписки GraphQL с Postgraphile? - PullRequest
0 голосов
/ 18 мая 2019

Я очень новичок в GraphQL, так что, возможно, я что-то здесь упускаю.В настоящее время я создаю конечную точку GraphQL базы данных Postgres SQL с помощью PostGraphile Я могу выполнять запросы, но я только что узнал о подписках GraphQL и, очевидно, 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

Вот что я получаю на панели WebSocket / Network @Benjie.Действия {type:"ka} выполняются в случайном интервале.

enter image description here

...