gpt4 book ai didi

node.js - 将模型实例传递给函数

转载 作者:行者123 更新时间:2023-12-03 22:32:49 25 4
gpt4 key购买 nike

这是我第一次使用 sequelize (v6) 和一般的 JS。有点困惑。我有这个功能:

  function userStandard(user: User, currentlyActiveRate: number){

}
//用户现在
import { DataTypes } from "sequelize";


import sequelize from '../../../sequelize';

export const User = sequelize.define('User', {

email: {
type: DataTypes.STRING },
password_hash: {
type: DataTypes.STRING,
}

}, {
timestamps: true,
freezeTableName: false
});
我现在无法运行/编译应用程序,出现以下错误:
'User' refers to a value, but is being used as a type here. Did you mean 'typeof User'?
如果我做用户:typeof用户
它可以编译,但究竟是什么问题?为什么没有 typeof 就不能工作?

最佳答案

您应该为您的模型声明一个接口(interface)以及一个类型来描述构造函数并调用 define作为通用方法:

import { Model, DataTypes, BuildOptions } from 'sequelize';

export interface UserModel extends Model {
email: string;
password_hash: string;
}

export type UserModelStatic = typeof Model
& { new(values?: Record<string, unknown>, options?: BuildOptions): UserModel }

const User = <UserModelStatic>sequelize.define('User', {

email: {
type: DataTypes.STRING },
password_hash: {
type: DataTypes.STRING,
}

}, {
timestamps: true,
freezeTableName: false
});

export { User }

关于node.js - 将模型实例传递给函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65241139/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com