因此在此节点应用程序中,我从控制器中调用了另一个脚本文件
myFunc: function(myData){
return models.Bank.findOne(
{where: {id: bankId}}
).then(function(_bank){
console.log('_bank:',_bank);
var bankName = _bank.dataValues.name;
return models.account.findAll({
where: { id: myid }
}).then(function(_accounts){
_accounts.forEach((_account)=>{
console.log('_account.dataValues.data.bankName:',_account.dataValues.data.bankName);
console.log('bankName:',bankName);
var newStatus = '';
if(_.trim(_account.dataValues.data.bankName) == _.trim(bankName)){
console.log("same");
newStatus = 'statusA';
}
else{
console.log("nosame");
newStatus = 'statusB';
}
_account.dataValues.data.status = newStatus;
console.log('_account:',_account);
//Tried even to return in the line below, didnt help
models.account.update(_account, {
where: {
id: _account.dataValues.id
},
returning: true
}).spread(function(affectedRows, result){
if(result[0]){
console.log("print1");
return result[0];
}
else{
console.log("print2");
return null;
}
});
});
});
});
});
在这里,所有行均已执行,我可以在日志中提供信息。
但是,永远不会执行称为models.account.update
的最后一个函数。我也没有任何错误。
我还尝试在更新模型的行之前返回。但是没有运气。我究竟做错了什么?