【发布时间】:2021-11-15 04:32:57
【问题描述】:
我有一个应该有一个通用参数的函数,像这样:
async function getAll<T>(model: Model<T>, limit = 10) {
....
}
所以我决定使用 lodash curry 来调用这个函数:
const specificGetAll = curry(getAll)(model)
specificGetAll(10)
这会导致“此表达式不可调用。类型 '' 没有调用签名。”
由此引发了两个问题:
- 在这里做柯里化是正确的吗(例如,与 ts 装饰器比较)?
- 是什么导致了这个错误,如何解决?
【问题讨论】:
-
有趣,我看到它解析为this overload。 Sandbox。您可以尝试将显式类型添加到
curry,例如curry<Model<number>, number, Promise<void>>
标签: typescript lodash typescript-generics currying