我正在尝试创建一个通用的包装函数,它将包装传递给它的任何函数.
在最基本的包装函数看起来像
function wrap<T extends Function>(fn: T) {
return (...args) => {
return fn(...args)
};
}
Run Code Online (Sandbox Code Playgroud)
我想尝试使用它:
function foo(a: string, b: number): [string, number] {
return [a, b];
}
const wrappedFoo = wrap(foo);
Run Code Online (Sandbox Code Playgroud)
现在wrappedFoo正在获得一种类型(...args: any[]) => any
是否有可能wrappedFoo模仿其包装功能的类型?
typescript ×1