我正在尝试使用CouchDB,它的nano
npm库具有打字稿类型。我设法插入了文档,但是我不知道如何键入响应文档。这是获取数据的函数:
export const getAlarms = async (): Promise<IAlarm[]> => {
const list = await db.list({ include_docs: true });
const alarms = list.rows.map(alarm => {
if (alarm.doc) {
return Alarm.from(alarm.doc);}
});
return alarms;
};
打字稿在alarm.doc
处引发错误:
[ts] “文档”类型的参数不能分配给“ IAlarm”类型的参数。 类型“文档”中缺少属性“名称”。
我现在什么地方都找不到,该如何告诉TS该调用返回的文档属于我的类型,而不是简单的Document?
编辑:刚刚使用alarm.doc as IAlarm
进行了修复-这种方法有多好?