我是flowjs的新手,还不知道如何在flowjs中建模未定义参数的典型用例。
weights
使用flow检查上述功能时,会显示以下错误消息:
我确实理解为什么会显示错误但是我不确定如何告诉flowjs这是故意的,因为仅当参数不为null或未定义时才调用回调?
答案 0 :(得分:1)
Flow仅在_.isFunction(callback)
是函数时才知道true
返回callback
。它只知道它返回一个布尔值(如果你有下划线/ lodash设置的接口文件)。您应该进行本机JS检查,然后Flow可以将callback
的类型从?Function
优化为Function
。像这样:if (typeof callback === 'function') { callback() }
。
更简单的类型检查也应该起作用:if (callback) { callback() }
因为Flow知道如果callback
不是假的,它必须是一个函数。