簡體   English   中英

如何在類中檢索變量的值

[英]How to retrieve value of a variable in class

您好我從方法中檢索值時遇到問題。 我在node.js中使用sequelize。

當我這樣做時,如何獲得placeTmp ['id']:

server.js:

var Sequelize = require('sequelize');
var sequelize = new Sequelize(config.database, config.username, config.password);
var Place     = sequelize.import(__dirname + '/model/Place');
console.log(Place.getActualId()); // An ID but I'll retrieve undefined :(

Place.js:

module.exports = function(sequelize, DataTypes) {
var place = sequelize.define('Place', {
    name    : DataTypes.STRING,
    address : DataTypes.STRING,
    city    : DataTypes.STRING,
    zipcode : DataTypes.INTEGER,
    website : DataTypes.STRING,
    start   : DataTypes.DATE,
    end     : DataTypes.DATE,
    type    : DataTypes.STRING,
   actual  : DataTypes.BOOLEAN
},
{
    underscore     : true,
    timestamps     : false,
    freezeTableName: true,
    classMethods: {
        getActualId: function(){
             this.find({where: {actual: 1}}).on('success', function(placeTmp){
             return placeTmp['id'];
     })
   }
}
});

return place;
}

你能幫助我嗎 ?

非常感謝

因為獲取ID是異步操作你應該做這樣的事情:

    var Sequelize = require('sequelize');
    var sequelize = new Sequelize(config.database, config.username, config.password);
    var Place     = sequelize.import(__dirname + '/model/Place');
    Place.getActualId(function(id){ console.log(id); });


    module.exports = function(sequelize, DataTypes) {
    var place = sequelize.define('Place', {
        name    : DataTypes.STRING,
        address : DataTypes.STRING,
        city    : DataTypes.STRING,
        zipcode : DataTypes.INTEGER,
        website : DataTypes.STRING,
        start   : DataTypes.DATE,
        end     : DataTypes.DATE,
        type    : DataTypes.STRING,
       actual  : DataTypes.BOOLEAN
    },
    {
        underscore     : true,
        timestamps     : false,
        freezeTableName: true,
        classMethods: {
            getActualId: function(callback){
                 this.find({where: {actual: 1}}).on('success', function(placeTmp){
                 callback(placeTmp['id']);
         })
       }
    }
    });

    return place;
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM