如何在类中检索变量的值 [英] How to retrieve value of a variable in class

查看:118
本文介绍了如何在类中检索变量的值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Hello我有一个问题从一个方法中检索值。我在node.js中使用sequelize。

Hello I have a problem to retrieve a value from a method. I'm using sequelize in node.js.

当我这样做时,如何获取placeTmp ['id']:

How can get placeTmp['id'] when I do this:

server.js:

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;
}

非常感谢

推荐答案

异步操作你应该这样做:

Bacause getting an ID is async operation You should do something like this:

    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;
    }

这篇关于如何在类中检索变量的值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆