我拼命尝试调用一个似乎不存在的简单 setter 方法。

这是我的模型定义:

var Process = Sequelize.MySql.define('Process',{
name: Sequelize.STRING,
description: Sequelize.TEXT,
duration: Sequelize.BIGINT,
status: {
    type: Sequelize.ENUM(pstatus.unassigned,pstatus.assigned,pstatus.inprocess,pstatus.stopped,pstatus.finished),
    defaultValue: pstatus.unassigned,
    set: function(v){
        console.log('Prozess status updated')
        if(!pstatus.hasOwnProperty(v)){
            return
        }

        this.setDataValue('status',v)
    }
}
}

每次调用 process.setStatus(pStatus.inprocess) 都会返回 TypeError



我在这里缺少什么?

最佳答案

Setter 实现为 javascript setters

这意味着当您分配给属性时将调用 setter

process.status = 'done' // this invokes the setter

关于javascript - Sequelize setter 不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26474612/

10-10 00:28