在catch块中获得响应

时间:2017-07-06 17:48:00

标签: javascript reactjs graphql react-apollo apollo-client

我从我的graphql端点发送dataerrors(架构在Graphene中生成)。我查询的方式是使用client.query方法(当我使用withApollo HOC时作为道具提供)。

我这样做是这样的:

    let result = this.props.client.query({
        query: query,
        variables: {},
        fetchPolicy: this.state.fetchPolicy
        })
        .then(result => this.handle_data(result.data))
        .catch((e) => {
            alert("Hello"+e);
        });

当服务器出现错误时(由于查询错误),我发送data nullerrors设置实际错误消息。然后在这里执行catch块。 e的值不是我从服务器发送的errors。如何获取我在catch块中发送的服务器响应(就像我们进入then块一样)?

1 个答案:

答案 0 :(得分:0)

使用withApollo然后添加errorPolicy:'忽略'在您的配置上,如下所示:

const result = await client.query({
      query: getQuery(fieldArgs),
      variables: { filters: [...filters] },
      errorPolicy: 'ignore',
    });