javascript - 流量: refinement not work on custom type

标签 javascript flowtype flow-typed

例如,这是我的代码:

export const handleRequestError = (error: (AxiosError<> | Error)) => {
  if (typeof error === Error) {
    errorNotification('Request Fail', error.message);
    console.log('Error', error.message);
  }
}

但是当我运行 yarn 流时。我总是遇到这个错误:

Cannot get error.message because property message is missing in AxiosError [1].

 [1] 10│ export const handleRequestError = (error: (AxiosError<> | Error)) => {
     11│   // General error
     12│   if (typeof error === Error) {
     13│     errorNotification('Request Fail', error.message);
     14│     console.log('Error', error.message);
     15│   }

看起来该流程无法识别我有错误类型的检查条件。我该如何解决这个问题。

谢谢

最佳答案

 typeof error 

实际上是“object”,你的检查应该是:

 error instanceof Error

关于javascript - 流量: refinement not work on custom type,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51232122/

相关文章:

javascript - 返回 iframe 的流 HTMLElement.querySelector

javascript - 如何在流程中输入 react-redux connect?

flowtype - 如何让 Flow 知道 Jest 的全局变量(测试、期望等)?

javascript - 在函数中 react 未定义的 this

javascript - 为什么这个 Javascript 示例复制变量值而不是通过引用传递?

javascript - 高阶 React 组件中可选参数的流类型

javascript - 解构和流程

observable - 流类型检查 action$ observable

返回错误维度的 Javascript 多维数组

javascript - ngIf 仅用于 _this_ 元素,无论如何都显示 child