【问题标题】:Proper way to return error from within a mutateAndGetPayload从 mutateAndGetPayload 中返回错误的正确方法
【发布时间】:2017-02-20 12:30:39
【问题描述】:

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

【问题讨论】:

    标签: relayjs relay


    【解决方案1】:

    一种方法是使用 GraphQLError 类型

    在后端使用 NodeJS 时,我们使用了以下库:

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

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

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

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

    【讨论】:

    • 没问题,乐于助人。
    猜你喜欢
    • 2016-08-02
    • 2019-12-04
    • 2018-03-23
    • 2013-11-23
    • 1970-01-01
    • 1970-01-01
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多