0
こんにちは私はメソッドから値を取得するのに問題があります。私は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;
}
はあなたが私を助けることができるの?
を。意味がない。代わりに、コールバックを使用するようにコードを構造化する必要があります。状況は、ちょうど尋ねられたJavaScriptの質問(「私の関数の値は定義されていません)と同じです(別のコンテキストで)」(http://stackoverflow.com/questions/7945502/the-value-of- my-function-is-undefined) – Pointy