I'm sending list of objects to be added in the database, the object is obtained by using req.body in my controller and then sent to service layer which is sent to dao layer to do my database operation.
Using callback i wanna send the data back , but i'm getting the error
Unhandled Rejection Error : Can't set Headers after they are sent.
My contoller 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(){});
My service 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);
})
}
}
}
My 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);
});
}