有没有一种优雅的方法来捕获阿波罗中的网络错误?

时间:2020-03-10 15:05:35

标签: apollo apollo-client

在此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)

0 个答案:

没有答案