【问题标题】:How do I handle if the api error message is undefined?api报错信息未定义怎么处理?
【发布时间】:2022-11-25 03:00:21
【问题描述】:

如果登录成功,我不会收到错误消息。我的问题是,如果没有收到错误消息,则 data.error.message 的值未定义并且程序崩溃。我该如何解决这个问题?

 if(data.error.message === 'EMAIL_NOT_FOUND'){
      setError({
        title: "EMAIL_NOT_FOUND",
        message: "This email address is not registered.",
      });
      setIsLoading(false);
      return;
    }
    if(data.error.message === 'EMAIL_NOT_FOUND' && data.error.message !== undefined){
      setError({
        title: "EMAIL_NOT_FOUND",
        message: "This email address is not registered.",
      });
      setIsLoading(false);
      return;
    }

我也试过这个但同样的错误。

【问题讨论】:

  • 你确定 data,error.message 是未定义的吗?也许 data.error 在您的情况下未定义。
  • 如果登录成功,则服务器没有错误消息,因此 data.error.message 未定义。如果有错误消息,它会起作用。但是,我想处理这两种情况。
  • 你能试试这个吗?如果(数据!== undefined && data.error !== undefined && data.error.message === 'EMAIL_NOT_FOUND')

标签: javascript reactjs


【解决方案1】:

您可能会收到错误消息,因为您正试图从未定义的对象中读取数据。

error 未定义时,您可以修改条件以处理情况:

 if(data?.error?.message && data.error.message === 'EMAIL_NOT_FOUND'){
   ...
 }

这样你就可以确保 errormessage 存在并且不是未定义的。

【讨论】:

  • 它的 javascript 实际上没有打字稿。只需在您的浏览器控制台中尝试一下,看看它是否有效
  • 对不起。你是对的。请做一个简单的编辑,这样我就可以撤消我的投票。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-10-04
  • 2012-06-07
  • 1970-01-01
  • 1970-01-01
  • 2020-07-19
  • 2019-06-20
  • 2016-06-02
相关资源
最近更新 更多