修改Sequelize中的查询函数



我正在学习"Sequelize";。我查阅了文档,在其他地方得到了这个代码。

Model = require('../models/Salesman')
module.exports.creareSalesman = (req, res, next) => {
Model.create(req.body).then(
result => {
res.status.json({data: result})
}).catch(err => console.log(err))
}

但我想在下面的结构中,

Model = require('../models/Salesman')
module.exports.creareSalesman = (req, res, next) => {
Model.create(req.body, function (result, err) {
if (err) {
console.log(err)
}
else {
res.status.json({data: result})
}
});
}

我试过了,但没有收到回复。但将数据正确插入数据库。在这种情况下如何得到回应。?

Model.create方法返回一个Promise,并且没有回调参数
因此,您可以使用then:处理Promise

module.exports.creareSalesman = (req, res, next) => {
Model.create(req.body)
.then((result) => {
res.status.json({ data: result });
})
.catch((err) => console.log(err));
};

或者使用async await:

module.exports.creareSalesman = async (req, res, next) => {
try {
const result = await Model.create(req.body);
res.status.json({ data: result });
} catch (err) {
console.log(err);
}
};  

最新更新