0
我想有一个通用的函数,它(() => T) | T
类型的参数流的类型,比如定义排除特定类型的
const myGenericFunction = <T>(param: ((() => T) | T)): T => {
if (typeof param === 'function') { return param(); }
return param;
};
然而,在这种情况下,流量不知道,如果我通过参数() => 1
,然后T
是number
,而不是() => number
。我如何才能帮助流程理解T
不应该是一个功能?
你能否澄清你得到的错误?看着[测试示例](https://flow.org/try/#0PQKgBAAgZgNg9gdzCYAoVBjOA7AzgFzAFsBPAcQFNsKAnASwwDEBXbDfOnMAXjAB4AKgD4AFAAcAhjQlEAXGBGKAlDyFgBKgD7qlS+QNVgA3qjBg6UBfhJiKcS5OlEe3XgHIordp2xuVRsBoKfGYabDBHGRElAG4wAF9TQODQ8MiiGNR4zLNc3KS8s1QANykwfHlsZiIAI1oeYnIqWgYWNg4cZUMARligA),似乎功能。 – loganfsmyth