我有一个函数,
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/