在此example的表单提交处理程序中,阿波罗请求包装在try / catch块中:
async function handleSubmit(event) {
event.preventDefault()
const emailElement = event.currentTarget.elements.email
const passwordElement = event.currentTarget.elements.password
try {
await client.resetStore()
const { data } = await signIn({
variables: {
email: emailElement.value,
password: passwordElement.value,
},
})
if (data.signIn.user) {
await router.push('/')
}
} catch (error) {
setErrorMsg(getErrorMessage(error))
}
}
是否有更优雅的方式来捕获网络错误,而不是使用try / catch?
或者我应该忽略控制台错误:
未捕获(承诺)错误:网络错误:响应失败: 收到状态码400
使用错误道具吗?
const [login, { error }] = useMutation(LoginMutation)