如何关闭graphql-yoga服务器?
Posted
技术标签:
【中文标题】如何关闭graphql-yoga服务器?【英文标题】:How to close graphql-yoga server? 【发布时间】:2019-11-25 04:33:59 【问题描述】:对于快递的描述在
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】:GraphQLYoga 是一个工具集合,使用/包装了 express 服务器。
见:https://github.com/prisma/graphql-yoga/blob/master/src/index.ts
正如您在源代码中看到的,GraphQLServer 包装了 express 服务器,并且 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()
【讨论】:
以上是关于如何关闭graphql-yoga服务器?的主要内容,如果未能解决你的问题,请参考以下文章
通过 apollo 连接到 graphql-yoga 服务器进行订阅的正确方法是啥?
markdown 来自graphql-yoga(后端)的prisma服务器连接测试
javascript Graphql-yoga auth api的服务器初始化
Type as property 使用 graphql-yoga 和 prisma 解析为 null