【问题标题】:Sending errors to apollo graphql向 apollo graphql 发送错误
【发布时间】:2018-08-21 04:38:51
【问题描述】:

我有一个这样的查询解析器:

page: (root, args) =>
      DB.page
        .findById(args.id)
        .then((result) => {
          if (result == null) throw Error(`Page not found for ${args.id}`);
          return result;
        })
        .catch((error) => {
          log.error('Error in page query.', error.message);
        }),

当我执行查询时,结果是:

{
  "data": {
    "page": null
  }
}

但它没有显示我在查询失败时抛出的错误。 我的期望:

{
  "errors": [
    ...
  ]
}

【问题讨论】:

    标签: node.js express graphql apollo apollo-server


    【解决方案1】:

    您会在错误被抛出后立即发现它。您需要完全省略catch,或者在记录后抛出捕获的错误:

    .catch((error) => {
      log.error('Error in page query.', error.message)
      throw error
    }),
    

    【讨论】:

      猜你喜欢
      • 2019-11-01
      • 2017-06-23
      • 2018-12-27
      • 2019-06-12
      • 2021-10-16
      • 2023-03-08
      • 2020-02-01
      • 2021-10-12
      • 2018-07-30
      相关资源
      最近更新 更多