我有一个变异,返回了 Union Type 。
union Task = PersonalTask | OtherTask
mutation updateTask(...) : Task
subscription onUpdatePersonalTask(id: ID): PersonalTask
@aws_subscribe(mutations: ["updateTask"])
但是由于突变(返回为Task
,这是一个联合)和订阅(返回PersonalTask
)中的类型不匹配,这会导致错误
问题
如何让订阅将突变联合类型解析为特定类型?
是否有一种更干净的订阅方式可以具有自动类型解析功能?
答案 0 :(得分:1)
这可能只是该指令实现的限制。来自docs:
模式中预订字段的返回类型必须与相应突变字段的返回类型匹配。
假设您要使用某种type
字段来区分PersonalTask
和OtherTask
,一种解决方法是订阅所有任务,但使用一个参数缩小订阅范围:
订阅onUpdateTask(类型:字符串!):任务 @aws_subscribe(变异:[“ updateTask”])