0

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);
    });
}
Grijan
  • 287
  • 5
  • 22
  • Possible duplicate of [Error: Can't set headers after they are sent to the client](https://stackoverflow.com/questions/7042340/error-cant-set-headers-after-they-are-sent-to-the-client) – Mika Sundland Dec 06 '17 at 13:11
  • Looks like you are looping over the res.json. See the duplicate. – Mika Sundland Dec 06 '17 at 13:11
  • Hi @MikaS im new to node, i cant follow what you are trying to say! Thanks in advance – Grijan Dec 06 '17 at 13:22

0 Answers0