相关疑难解决方法(0)

是否可以包装函数并保留其类型?

我正在尝试创建一个通用的包装函数,它将包装传递给它的任何函数.

在最基本的包装函数看起来像

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

11
推荐指数
4
解决办法
4029
查看次数

标签 统计

typescript ×1