gpt4 book ai didi

promise - 无法在未定义的 Sequelize 错误上调用方法 'then'

转载 作者:行者123 更新时间:2023-12-03 22:41:23 25 4
gpt4 key购买 nike

我在函数内返回一个 promise ,并在函数外处理 promise ,但我在未定义的错误上无法调用方法“then”。有人可以指出我做错了什么或如何解决这个问题。

function getMeterReadingByMeterIdandDate(sequelize, Dials, Meter, Server, meter_id, date){
getNameByMeterId(sequelize, Meter, meter_id)
.then(function(meter){
getServerIdByMeterId(sequelize, Server, meter_id)
.then(function(server){
var name = meter[0].meter_id;
var channel = "Ch"+name.substr(-1);
var serialNumber = parseInt(name.substr(0,12));
console.log({name:name,channel:channel,serialNumber:serialNumber});
var server_id = server[0].server_id;
return sequelize.query("select SUM(?) as total from dial?s where RealReadDate <= ? and SN = ?",
{
model:Dials[server_id],
replacements:[channel, server_id, date.toISOString(), serialNumber],
type: sequelize.QueryTypes.SELECT
});
});
});
}


function getStartMeterReadingByMeterIdAndBillingId(sequelize, Dials, Billings, Meter, Server, meter_id, billing_id){
getStartDateByBillingId(sequelize,Billings,billing_id)
.then(function(date){
return getMeterReadingByMeterIdandDate(sequelize, Dials, Meter, Server, meter_id, date[0].start_date);
});
}

getStartMeterReadingByMeterIdAndBillingId(sequelize, Dials, Billings, Meter, Servers, meter.id, billing_id)
.then(function(current_date_result){
meter_obj.current = current_date_result[0].total;
});

当我运行 callgetStartMeterReadingByMeterIdAndBillingId 时,我得到了无法调用方法 'then' 错误。我们是否允许返回像 than 这样的 Sequelize promise ,然后使用该函数处理 then else where。

最佳答案

getStartMeterReadingByMeterIdAndBillingId 函数不会根据您的代码示例返回 promise 。

假设 getStartDateByBillingId 返回一个 promise,您应该将代码更改为:

function getStartMeterReadingByMeterIdAndBillingId(sequelize, Dials, Billings, Meter, Server, meter_id, billing_id){
return getStartDateByBillingId(sequelize,Billings,billing_id)
.then(function(date){
return getMeterReadingByMeterIdandDate(sequelize, Dials, Meter, Server, meter_id, date[0].start_date);
});
}

关于promise - 无法在未定义的 Sequelize 错误上调用方法 'then',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44371770/

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