Nestjs GraphQL 订阅 onConnect 和 onDisconnect 回调

cra*_*ead 5 graphql apollo-server nestjs

有没有一种方法可以挂钩Nestjs 中的onConnect 和 onDisconnect生命周期事件?

Dav*_*Shi 3

在文档中,您将看到它建议您是否graph-ws使用以下内容:

subscriptions: {
        'graphql-ws': true
}
Run Code Online (Sandbox Code Playgroud)

然而,我必须深入研究如何真正让它与你所说的生命周期事件一起工作。如果您正在使用,下面是 Nestjs 使用 TypeScript 的示例graphql-ws

subscriptions: {
        'graphql-ws': {
          onConnect: (context: Context) => {
            const { connectionParams, subscriptions } = context;
            console.log(
              `connectionParams: ${connectionParams}, subscriptions: ${JSON.stringify(
                subscriptions,
              )}}, context ${JSON.stringify(context)}`,
            );
          },
          onDisconnect: (context: Context) => {
            const { connectionParams, subscriptions } = context;
            console.log(
              `connectionParams: ${JSON.stringify(
                connectionParams,
              )}}, subscriptions: ${JSON.stringify(
                subscriptions,
              )}, context ${JSON.stringify(context)}`,
            );
          },

Run Code Online (Sandbox Code Playgroud)