0
我有兩個模型:User
,與Member
的一對多參考相關聯。帆/水線:在模板中獲得承諾值
我想從Member
模型檢索User
中的firstName &姓氏,讓我添加了一個功能getName
到Member
,將首先填充「用戶」字段,然後返回一個值從模板調用時像這樣:
<p><%= data.members[i].getName() %></p>
但我只得到模板「未定義」(而我可以在控制檯從功能的getName裏面打印好的價值觀)。我想這是因爲我必須查詢基地,getName是異步並返回一個Promise。
這裏是我的模型:
/**
* User.js
*/
module.exports = {
attributes : {
firstName : 'string',
lastName : 'string',
}
}
/**
* Member.js
*/
module.exports = {
attributes : {
user : {
model : 'User'
},
getName: function() {
return Member
.findOne({ id : this.id })
.populate('user')
.exec(function(err, member) {
if(err) return err;
return member.user.firstName +' '+ member.user.lastName;
});
}
}
}
有人可以幫我告訴我什麼是錯我的代碼?
P.S. :這可以通過從控制器中填充'user'字段來解決,而不是從模型中解決,但是我有另一個像這樣的問題,它會遵循相同的原則。
它看起來像這個問題:https://stackoverflow.com/questions/22823796/sails-js-get-async-data-from-an-ejs-file?rq=1在我的情況不是很有希望.. 。 – Paul