从mutateAndGetPayload中返回错误的正确方法

时间:2016-10-11 20:28:22

标签: relayjs relay

我正在使用graphql-relay库在中继变异的mutateAndGetPayload函数中进行许多业务逻辑检查。对于任何失败的检查,我有一个会抛出错误的else子句,ig throw('You do not have permission to delete this resource');但是,当发生这种情况时,我得到错误Cannot set property 'clientMutationId' of undefined返回到前端而不是错误I'我想回来。似乎我看到了这个错误,因为我没有返回这个突变关心的东西(或者一个解析为一个的承诺),所以我有点难过......什么是抛出/返回错误的正确方法给客户这里?

1 个答案:

答案 0 :(得分:0)

一种方法是使用GraphQLError类型

在后端的NodeJS中工作,我们使用了以下库:

https://github.com/graphql/graphql-js/tree/master/src/error

然而,我们最终使用的是一个提供更多灵活性的库:

https://github.com/kadirahq/graphql-errors

这些中的任何一个都是最好的起点。