使Flow理解只能是IF语句中所需的类型

时间:2019-06-03 10:12:03

标签: javascript flowtype typechecking flow-typed

我的代码如下:

function func2(func2Inp: string) { /* some stuff */}

function func(inp?: string) {
    if(inp){ 
        func2(inp) // here is where flowTyped doesn't understand
    }
}

这是Flow所说的:

Cannot call `func2` with `inp` bound to 
`func2Inp` because  undefined [1] is incompatible with  string [2].

如何使流程了解我确定inp不是未定义的?

编辑:

正如人们所说的那样,它在注释中正常工作,确切的情况是这样的三元条件(也许和三元在这里不同):

const x = inp ? func2(inp) : somethingElse

我当前使用的这些是Flow版本:

"eslint-plugin-flowtype": "^3.2.1",
"flow-bin": "^0.81.0"

0 个答案:

没有答案