我正在努力弄清楚如何将一个需要参数的泛型类型传递给函数,只是让函数提供参数。下面是一个人为的例子来说明我想要做什么。
interface SingleItem<T> {
body: T
}
interface MultiItem<T> {
body: T[]
}
function requestImages<BodyType> () {
...
return resp as BodyType<Image>;
}
requestImage<SingleItem>(); //<-- will throw because SingleItem requires a parameter
requestImage<MultiItem>();
我意识到我可以修改 SingleItem 和 MutliItem 以获得该类型的默认值,但我正在尝试了解打字稿的详细信息,不一定要绕过这个问题。有没有办法传递泛型?