在Flow中返回类型检查

问题描述 投票:0回答:1

Flow应该检查返回类型吗?它似乎不适用于自定义类型 - 以下代码编译得很好:

function test1(value: number) : Distance {
  if (value == 4) {
    return "asd";
  }
  if (value == 5) {
    return { a: 9 };
  }
  if (value == 6) {
    return null;
  }

  return new Distance(value);
};

距离定义如下:

export class Distance {
  value: string;
  unit: string;

  constructor(value: string, unit?: SDKConstants.MeasurementUnit) {
    this.value = value;
    this.unit = unit;
  }
}

这在Flow上编译就好了。我注意到如果我将返回类型更改为数字,那么我会收到一些错误。

在这种情况下,有人可以解释一下Flow的局限性吗?我是否需要配置中的设置以使其更严格或什么?

javascript react-native flowtype
1个回答
0
投票

问题是距离是在一个没有@flow标签的单独文件中定义的。另一种方法是在所有文件中启用Flow检查(https://flow.org/en/docs/config/options/#toc-all-boolean

© www.soinside.com 2019 - 2024. All rights reserved.