可以在这个特定的功能上下文中强制执行类型吗?
Possible to enforce type in this specific functional context?
我正在使用具有特定语法的 lodash,并且我想使用 facebook flowtype 强制类型。这是代码:
let errorMessageBag = _.flow( objectWithFieldsToValidate, requiredFields,
stringLengthValidationCheck, emailValidation)
let result = errorMessageBag(fields, linkmodel())
我想强制执行 errorMessageBag
调用以传递 2 个参数、字段和 linkmodel()
。为了简单起见,假设我希望它们是 string,string
.
流参数是下面函数的名称。这是第一个接受 2 个参数的 objectWithFieldsToValidate
,但如果我输入它们,它就不会传播。无论如何要解决这个问题?
一个简单的解决方法是将 errorMessageBag(fields, linkmodel()) 封装到一个具有易于键入参数的函数中。所以你最终调用了 return errorMessageBag(fields, linkmodel()) .
的新函数
这个怎么样:
// assuming `void` is the return type of validation
let errorMessageBag: (x: string, y: string) => void = ...;
let result = errorMessageBag(fields, linkmodel())
我正在使用具有特定语法的 lodash,并且我想使用 facebook flowtype 强制类型。这是代码:
let errorMessageBag = _.flow( objectWithFieldsToValidate, requiredFields,
stringLengthValidationCheck, emailValidation)
let result = errorMessageBag(fields, linkmodel())
我想强制执行 errorMessageBag
调用以传递 2 个参数、字段和 linkmodel()
。为了简单起见,假设我希望它们是 string,string
.
流参数是下面函数的名称。这是第一个接受 2 个参数的 objectWithFieldsToValidate
,但如果我输入它们,它就不会传播。无论如何要解决这个问题?
一个简单的解决方法是将 errorMessageBag(fields, linkmodel()) 封装到一个具有易于键入参数的函数中。所以你最终调用了 return errorMessageBag(fields, linkmodel()) .
的新函数这个怎么样:
// assuming `void` is the return type of validation
let errorMessageBag: (x: string, y: string) => void = ...;
let result = errorMessageBag(fields, linkmodel())