我具有以下功能–
function wrapper(callback) {
// operation
}
我需要wrapper
的返回类型与传递给callback
的第一个(唯一)参数相同。例如。
wrapper(({paramA, paramB}) => {})
// returns { paramA: somveVal, paramB: someVal }
那有可能吗?
答案 0 :(得分:1)
function wrapper<T>(callback: T => mixed): T { ...}
请注意,除非您实际上不希望它是通用的,否则该签名是无法实现的。
答案 1 :(得分:0)
如果我理解得很好,则您需要以下内容:
例如声明type CallBack
:
type CallBack = {|
paramA: any,
paramB: any,
// Or use other type instead any.
|}
和annotate
功能:
const wrapper = (fn: (x: CallBack) => CallBack): CallBack => ({ paramA: 1, paramB: 2 });
流程示例: Flow Try