【发布时间】:2022-01-02 11:43:00
【问题描述】:
我正在处理DenoDb 的工作,并试图使createCat 函数返回Promise<CatModel> 类型。
最好的方法是什么?
这是我当前的代码:
import { Model, Database, SQLite3Connector, DataTypes } from 'https://deno.land/x/denodb/mod.ts';
interface CatModel {
id: bigint;
name: string;
}
const connector = new SQLite3Connector({
filepath: './db.sqlite',
});
const db = new Database(connector);
class CatSchema extends Model {
static table = 'cats';
static fields = {
id: {
type: DataTypes.BIG_INTEGER,
primaryKey: true,
autoIncrement: true,
},
name: {
type: DataTypes.STRING,
}
};
}
db.link([CatSchema]);
await db.sync({ drop: true });
const createCat = async (name: string): Promise<CatSchema> => {
return await CatSchema.create({
name: name
});
};
const dataCat = await createCat("Three");
console.log(dataCat);
await db.close();
Deno.exit(1);
我正在尝试制作这样的功能:
const createCat = async (name: string): Promise<CatModel>
如何正确地将Promise<CatSchema> 转换为Promise<CatModel>?
我计划将来将DenoDB 的工作隐藏在CatsRepo 类中,只提供CatModel。这是一个好的解决方案吗?
【问题讨论】:
标签: typescript deno denodb