为了表达,在
中进行了描述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();
})();
答案 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()