如何推断 typescript 的回调参数类型

How to infer type of callback parameters for typescript

提问人:Infinite Learner 提问时间:1/7/2023 最后编辑:starballInfinite Learner 更新时间:1/7/2023 访问量:37

问:

我正在尝试将打字稿添加到我的代码中,但我似乎找不到如何推断某些类型。更准确地说,是回调的参数。

Item.find({},(err, items) => {...} //missing type for callback parameters

“Item”是猫鼬的模型。

正如您在下面的文档中看到的,没有指定回调参数的类型: https://mongoosejs.com/docs/api/model.html#model_Model-find

我应该把“任何”作为一个类型吗?还是我错过了找到它的方法?

节点.js 回调

评论

0赞 katniss 1/7/2023
猫鼬应该有自己的类型......

答:

1赞 Infinite Learner 1/7/2023 #1

我通过为我使用的架构声明一个接口来解决这个问题。

interface IItem{...}
const itemSchema = new Schema<IItem> (...)
const Item = model<IItem>("Item", itemSchema)

因此,解决方案是:

Item.find({}, (err: String, items: Array<IItem>){...}

在文档中进行了解释:https://mongoosejs.com/docs/typescript.html