该组件很好地呈现了错误状态,但异常在控制台中显示为未捕获,并且在浏览器的下一个开发中显示对话框。有没有办法处理预期错误来抑制这种行为?
import { useMutation, gql } from "@apollo/client";
import { useEffect } from "react";
const CONSUME_MAGIC_LINK = gql`
mutation ConsumeMagicLink($token: String!) {
consumeMagicLink(token: $token) {
token
member {
id
}
}
}
`;
export default function ConsumeMagicLink({ token }) {
const [consumeMagicLink, { data, loading, error }] =
useMutation(CONSUME_MAGIC_LINK);
console.log("DATA", data, "loading:", loading, "error:", error);
useEffect(() => {
try {
consumeMagicLink({ variables: { token } });
} catch (e) {
console.log(e);
}
}, []);
var text = "Link has expired …Run Code Online (Sandbox Code Playgroud) 如何使用带节点的POST媒体/上传(分块)端点将视频上传到Twitter ?
做一件像这样的工作怎么办?
void (^)(void) *someBlock = ^{
//some code
};
Run Code Online (Sandbox Code Playgroud) onError函数from apollo-link-error有一个填充的graphQLErrors对象,但是当ApolloClient抛出一个错误对象时,该 graphQLErrors属性包含一个空数组.进一步检查显示graphql错误消息error.networkError.result.errors.
如何正确配置Apollo Client以返回填充的graphQLErrors对象?
Apollo客户端设置:
const {ApolloClient} = require('apollo-client')
const { ApolloLink } = require('apollo-link')
const {HttpLink} = require('apollo-link-http')
const {onError} = require('apollo-link-error')
const {InMemoryCache} = require('apollo-cache-inmemory')
const errorLink = onError(({ graphQLErrors, networkError }) => {
if (graphQLErrors) {
graphQLErrors.map(({ message, locations, path }) =>
console.log(
`[GraphQL error]: Message: ${message}, Location: ${locations}, Path: ${path}`,
),
)
}
if (networkError) console.log(`[Network error]: ${networkError}`)
})
const middleware = (req, ignored_res, next) => {
const client …Run Code Online (Sandbox Code Playgroud) javascript ×2
node.js ×2
express ×1
graphql ×1
next.js ×1
objective-c ×1
react-apollo ×1
reactjs ×1
twitter ×1
video ×1