node.js - sequelize.js - 按 id 查找并返回结果

标签 node.js sequelize.js

我有一个函数,

var findUserDevice = function(userDeviceId){

    var device = db.DeviceUser.find({
        where: {
            id: userDeviceId
        }
    }).then(function(device) {
        if (!device) {
            return 'not find';
        }
        return device.dataValues;
    });
};

但是这个函数没有返回任何东西......

var UserDevice = findUserDevice(req.body.deviceUserId);
console.log(UserDevice);// undefined

最佳答案

您尝试执行的操作是async,这意味着您需要使用回调。由于 sequelize 是在 Promises 之上构建的,因此您实际上应该像这样编写代码:

var findUserDevice = function(userDeviceId){
    // return the promise itself
    return db.DeviceUser.find({
        where: {
           id: userDeviceId
        }
     }).then(function(device) {
        if (!device) {
            return 'not find';
        }
        return device.dataValues;
     });
};

然后像这样使用它:

findUserDevice(req.body.deviceUserId).then( function(UserDevice) {
   console.log(UserDevice);
}); 

关于node.js - sequelize.js - 按 id 查找并返回结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34268597/

相关文章:

node.js - 在 React 中呈现的 Blaze LoginButtons 模板 - 登录仅适用于主页

node.js - 使用 NodeJS 的图像处理服务器

javascript - Nodejs Promise 有更好的方法来处理 Promise 实现中发生的错误吗?

javascript - 如何在我的 React 应用程序中实现 Sequalize API?

node.js - 使用 azure 应用服务的 Nodejs Express Router REST API

node.js - npm 发布带有 css 和字体的组件

node.js - 使用先前数据的条件对 upsert 进行 Sequelize

node.js - 如何在 Sequelize 中建模一对多关联?

node.js - SequelizeDatabaseError : null value in column "name" violates not-null constraint (NodeJS + Sequelize + Postgres)

node.js - Sequelize - 支持的最高 PostgreSQL 版本