我正在发送要添加到数据库中的对象列表,该对象是通过在我的控制器中使用req.body获得的,然后发送到服务层,该服务层被发送到dao层以进行我的数据库操作。
使用回调我想发回数据,但我收到了错误
Unhandled Rejection Error : Can't set Headers after they are sent.
我的控制器controller.js
var express = require('express');
var app = express();
var service = require('./service');
app.use(express.urlencoded({ extended: false }));
app.use(express.json());
app.post('/addPerson',function(req,res){
var obj = req.body;
console.log(obj);
console.log("......",obj.name);
console.log("......",obj.age);
service.addUser(obj,function(data) {
console.log("---->",data);
res.json(data);
})
})
var server = app.listen(8080,function(){});
我的服务service.js
var dao = require('./dao');
exports.addUser = function(obj,callback) {
for (var property in obj) {
if(obj.hasOwnProperty) {
console.log(obj[property]);
dao.addUser(obj[property],function(created){
callback(created);
})
}
}
}
我的dao dao.js
var models = require("./models");
var sequelize = models.sequelize;
var PropertiesReader = require('properties-reader');
var sqlQuery = PropertiesReader(__dirname+'/sql_queries.properties');
module.exports.addUser = function(obj,callback) {
console.log("dao",obj.name);
console.log("dao",obj.age);
var add_query = sqlQuery._properties.create_person;
sequelize.query(add_query,{
replacements : {
name : obj.name,
age : obj.age
},
type : sequelize.QueryTypes.INSERT,
model : models.Person
}).then(function(person){
callback(person);
});
}