如何关闭 graphql-yoga 服务器?

How to close graphql-yoga server?

对于快递,在

中有描述

how to properly close node-express server?

但在瑜伽文档中

https://github.com/prisma/graphql-yoga

没有关于 close 方法的信息。


更新

@perdox的解决方案解决了我的问题,正确答案是:

const gqlServer = new GraphQLServer({ typeDefs, resolvers });
const server = gqlServer.start(() => console.log('Server is running on localhost:4000'));
(async function f() {
    (await server).close();
})();

GraphQLYoga 是一个工具集合,使用/包装了 express 服务器。

参见:https://github.com/prisma/graphql-yoga/blob/master/src/index.ts

因此,正如您在源代码中看到的那样,GraphQLServer 包装了快速服务器和启动方法 returns 一个 HttpServer Promise。因此,您应该能够通过调用 HttpServer 上的 close 方法来关闭服务器:

const gqlServer = new GraphQLServer({ typeDefs, resolvers })
const server = gqlServer.start(() => console.log('Server is running on localhost:4000'))
server.close()