【发布时间】:2015-05-13 22:32:15
【问题描述】:
在 Typescript 中,我想创建一个函数,该函数将接受一个函数并返回一个具有相同输入输出的函数。函数本身需要是通用的。这样它就可以接受任意数量的参数并返回任意类型。
function improveFunction <T,U>(func:'that takes T and returns U') : (T):U {
var newFunc = doDomethingToTheFunction(func);
return newFunc;
}
如果我返回函数本身,这将起作用。但是由于我使用 arguments 特殊参数来能够接受任意数量的参数,我实际上是在创建一个打字稿编译器无法理解的新函数。
编辑:
我又做了一个变种
(U => T) to (U => Promise<T>)
function ddd<T>(func: (...x: any[]) => T) : (...x: any[]) => ng.IPromise<T> {
// return a function returning a promise of T;
}
【问题讨论】:
标签: generics typescript