如何关闭graphql-yoga服务器?

时间:2019-07-16 12:26:11

标签: express graphql-js prisma-graphql

为了表达,在

中进行了描述

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();
})();

1 个答案:

答案 0 :(得分:1)

GraphQLYoga是工具的集合,并使用/包装快递服务器。

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

因此,如您在源代码中看到的那样,GraphQLServer包装了快速服务器,而start方法将返回HttpServer Promise。因此,您应该能够通过调用HttpServer上的close方法来关闭服务器:

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