在Sequelize中,作为属性的一部分,使用异步的getter/setter。
- 论坛
- 在Sequelize中,作为属性的一部分,使用异步的getter/setter。
7 浏览
在Sequelize中,作为属性的一部分,使用异步的getter/setter。
在Sequelize中,我可以将属性的getter定义为异步函数吗?
在getter中,我应该从另一个表中检索一个值,我已经在模型定义中尝试了以下代码:
...
bio: {
type: Sequelize.STRING,
get: async function() {
let bio = this.getDataValue('bio');
if (bio) {
let bestFriend = await db.models.User.findById(this.getDataValue('BestFriendId'))
if(bestFriend){
bio += ` 最好的朋友:${bestFriend.name}。`;
}
console.log(bio)
return bio;
} else {
return '';
}
}
},
...
通过日志,我可以读取到正确的个人简介,例如:Born yesterday. Love to read Best friend: Markus
但是我检索到的对象在bio属性中是一个空对象。
我猜这是因为不支持异步函数,我错了吗?
我如何在不使用异步函数的情况下实现这个功能?