小编Kor*_*don的帖子

如何使用Apollo堆栈处理错误

我正在使用Apollo Stack graphql-server-expressapollo-client.

因为我的后端不完美,所以可能会出现错误,因此我必须对该路径的错误请求做出响应.

直到现在我的主要问题是身份验证,因此我回复了一个错误.

return new Error(`${data.status}: ${data.statusText} @ ${data.url}`)
Run Code Online (Sandbox Code Playgroud)

在前端,我使用apollo-client查询数据.

return apollo
        .query({query: gql`
            query {
                ${query}
            }`,
            forceFetch: forceFetch
        })
        .then(result => { debugger; return result.data })
        .catch(error => { debugger; console.error(error); });
Run Code Online (Sandbox Code Playgroud)

但是,如果查询的一个属性响应错误,则只调用catch函数.即使是剩余属性的数据也会被转移,我在Chrome开发工具的网络标签中看到了这一点.In不是catch函数中的错误对象.

我的尝试与GraphiQL一起使用,我在同一个对象中获取错误和数据.

那么如何在不丢失整个请求的情况下为属性抛出错误呢?

apollo graphql apollo-server apollostack apollo-client

10
推荐指数
1
解决办法
1524
查看次数