typescript - TypeGraphql:如何在 type-graphql 中触发订阅?
问题描述
一旦我使用以下突变创建新帖子,我的 graphql 订阅就会被触发。
@Mutation(() => Post)
async createPost(
@Arg("caption", () => String) caption: string,
@PubSub() pubSub: PubSubEngine
): Promise<Post> {
const post = await new Post(caption).save();
const posts = await Post.find({});
await pubSub.publish(Subscriptions.NEW_POST, post);
await pubSub.publish(Subscriptions.ALL_POSTS, posts);
return post;
}
这是我的订阅的样子:
@Subscription(() => Post, {
topics: Subscriptions.NEW_POST,
})
newPost(@Root() postPayload: Post): Post {
return postPayload;
}
一切正常。当我第一次在 graphql 操场上收听订阅时
subscription{
newPost{
id
caption
createdAt
}
}
唯一的问题是,它只在我创建新帖子时获取数据。我的问题是我如何向这个订阅发送一些默认数据,例如newPost:null
在运行createPost
突变之前的第一次监听时。
解决方案
推荐阅读
- java - Java Socket 仅第一次发送数据
- daml - '$' 运算符是什么?
- ios - 如何在 Swift 中完成所有单元格数据加载之前不显示 tableView
- bash - 计算 2 个给定时间之间的毫秒差
- javascript - 将 PHP 数组读入 NodeJS 函数
- python - 在 Django 视图中检索 Select2 多值以在后端使用
- vba - Word VBA - 如何插入标题编号的引用;标题文字;要评论的列表项编号和列表项页码?
- c++ - 在 C++ Cpp 中添加文件和文本?
- amazon-web-services - 如何将 JDBC 连接器连接到 AWS Athena 联合查询?
- javascript - 如何在 React Redux 中增加滚动时 Api 分页响应的结果