我正在使用graphql-relay库在中继变异的mutateAndGetPayload函数中进行许多业务逻辑检查。对于任何失败的检查,我有一个会抛出错误的else子句,ig throw('You do not have permission to delete this resource');
但是,当发生这种情况时,我得到错误Cannot set property 'clientMutationId' of undefined
返回到前端而不是错误I'我想回来。似乎我看到了这个错误,因为我没有返回这个突变关心的东西(或者一个解析为一个的承诺),所以我有点难过......什么是抛出/返回错误的正确方法给客户这里?
答案 0 :(得分:0)
一种方法是使用GraphQLError类型
在后端的NodeJS中工作,我们使用了以下库:
https://github.com/graphql/graphql-js/tree/master/src/error
然而,我们最终使用的是一个提供更多灵活性的库:
https://github.com/kadirahq/graphql-errors
这些中的任何一个都是最好的起点。