node.js - Sequelize 作为 express JS 中的函数总是返回 isFulfilled 和 isRejected false
问题描述
我有一个这样的帮手
let connection = require('./connection');
const Sequelize = require('sequelize');
const sysUserModel = require("./models/sys_user");
const Sys_user = sysUserModel(connection, Sequelize);
let queryUtils = {
getOldPassw: function (SYSUSER_ID) {
return Sys_user.findOne(
{
attributes: ['SYSUSER_PASSW'],
where : {
SYSUSER_ID: SYSUSER_ID
}
}
).then(function (row) {
return row.dataValues.SYSUSER_PASSW;
});
}
};
exports.data = queryUtils;
这是我的控制器
let queryUtils = require('../queryUtils');
let changePassword = function (req, res) {
let oldPass = queryUtils.data.getOldPassw('1010001');
return res.send(oldPass);
};
module.exports = {
changePassword
};
当我运行我的代码时,如下所示 errorRestClient
这是我的 控制台
你愿意帮我解决这个案子吗?非常感谢
解决方案
您正在从您的getOldPassw
函数中返回一个承诺,因此您需要对其进行操作。目前,您将承诺发送给客户端,而不是承诺解析为的值。
let changePassword = function (req, res) {
queryUtils.data.getOldPassw('1010001')
.then(oldPass => res.send(oldPass))
.catch(err => {
// Always good to handle errors!
console.error(err);
res.sendStatus(500);
});
};
推荐阅读
- python - 如何使用 Python 使用 Github Markdown API
- ssl - 使用 NGinx、LXD/LXC 和 Kong 的代理协议
- c - 使用 printf 参数的变量调用 printf、snprintf、f_printf 等
- java - 如何在不使用枚举的情况下编写干净的代码
- java - 应用程序被杀死时Android服务不会死
- xslt - 如果子项包含文本,则删除父项(在 cdata 中)
- java - Tomcat9 Log4j2 - 两台服务器之间的日志记录不同
- c# - 在瀑布对话框中捕获 Adaptive Card 提交的值
- c++ - 这个解决哲学家就餐问题 (dpp) 的解决方案是如何工作的?互斥量和信号量
- xml - 根据条件复制和过滤 XML