【发布时间】:2017-12-14 17:01:05
【问题描述】:
如何在 Typescript 中包装函数而不更改其泛型类型?
function x() {
console.log('Original Function');
}
function wrapper<T extends Function>(func: T): T {
// Typescript compiler error:
// Type '() => void' is not assignable to type 'T'.
return () => {
console.log('Wrapped Function');
func.call(null);
}
}
const xWrapped = wrapper(x);
xWrapped(); // logged 'Wrapped Function' & 'Original Function'
【问题讨论】:
标签: typescript typescript-generics