在Express JS中将序列化作为函数始终返回isFulfilled和isRejected false

时间:2018-08-27 15:32:21

标签: node.js express sequelize.js

我有这样的帮手

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

这是我的控制台 console

您想帮助我解决这个问题吗? 非常感谢你

1 个答案:

答案 0 :(得分:0)

您要从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);
        });
};