【发布时间】:2017-09-14 06:14:45
【问题描述】:
我在服务器上使用 GraphQL 和 mongoose。
当发生验证错误时,GraphQL 突变会发送状态码为 200 的响应。在客户端,响应如下所示:
{
"data": null,
"errors": [{
"message": "error for id...",
"path": "_id"
}]
}
我想使用 apollo-client 突变承诺的 catch 功能访问验证错误。比如:
this.props.deleteProduct(this.state.selectedProductId).then(response => {
// handle successful mutation
}).catch(response => {
const errors = response.errors; // does not work
this.setState({ errorMessages: errors.map(error => error.message) });
});
如何做到这一点?
【问题讨论】:
-
通过创建
Error实例尝试使用throw语句
标签: graphql apollo apollo-client