gpt4 book ai didi

node.js - Sequelize getter 方法中的异步表查询

转载 作者:太空宇宙 更新时间:2023-11-03 22:30:01 25 4
gpt4 key购买 nike

我有一个执行数据库查询的sequelize实例方法:

getPropertyDays() {
const queryString = `
SELECT
state
FROM property_days
WHERE
DATE(day) = CURDATE() AND
property_id = :propertyId;`;

const replacements = {propertyId: this.id};
return this.sequelize.query(queryString, {replacements: replacements, type: sequelize.QueryTypes.SELECT});
},

由 getter 调用:

getterMethods: {
propertyState() {
var self = this;
const blockedDay = 'x';
const unavailableDay = 'u';

this.getPropertyDays().then(function(result) {
var state = result[0]['state'];

if (self.prospect || state == unavailableDay) {
return 'unavailable';
}
if (state == blockedDay) {
return 'occupied';
}
else {
return 'available';
}
});
}
},

问题在于 getter 返回的结果是未定义的,因为他无法在返回之前解决 Promise。

由于我没有表格模型,如何解决这个问题?已经解决这个问题一天了!

非常感谢。

最佳答案

返回从 this.getPropertyDays 返回的 promise 不会解决问题吗?

getterMethods: {
propertyState() {
var self = this;
const blockedDay = 'x';
const unavailableDay = 'u';

return this.getPropertyDays().then(function(result) {
var state = result[0]['state'];

if (self.prospect || state == unavailableDay) {
return 'unavailable';
}
if (state == blockedDay) {
return 'occupied';
}
else {
return 'available';
}
});
}
},

关于node.js - Sequelize getter 方法中的异步表查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38635870/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com