Запрос выполняется позже, чем возврат выполнения expressjs - PullRequest
0 голосов
/ 31 декабря 2018

У меня есть функция, которая возвращает определенный JSON после выполнения запроса.но этот json идет по умолчанию, который я установил, но я хочу, чтобы обновленные значения были в дБ.

Код: -

function addPet(pet) {
    var body = {
        msg : "",
        insertId : null
    };
    console.log(pet.pet_type);
    if(pet.pet_type){
        mysql.mySqlConnection.query("insert into master_pet(pet_type) values(?)",[pet.pet_type], (err,rows,fields) => {
            if(err){
                console.log("Query Error :- " + err ); 
                body.msg = "Error While Inserting";
                body.insertId = null;
                console.log("reached here");
                return body;
            }
            else{
                console.log("Inserted" + pet.pet_type);
                console.log(rows.insertId);
                body.msg = "Inserted Successfully";
                body.insertId = rows.insertId;                   
                console.log("reached here");
                return body;
            }
        });
        return body;
    }
}

Метод вызова: -

   routes.post('/setPet',(req,res) => {
        var pet = req.body;
        var body = petmodel.addPet(pet);
        res.setHeader('Content-Type', 'application/json');
        res.json(body);
    });

здесь, на клиенте, json, который я получаю, по умолчанию.Пожалуйста, помогите.

TIA

1 Ответ

0 голосов
/ 31 декабря 2018
function addPet(pet, callback) {
    var body = {
        msg : "",
        insertId : null
    };
    console.log(pet.pet_type);
    if(pet.pet_type){
        mysql.mySqlConnection.query("insert into master_pet(pet_type) values(?)",[pet.pet_type], (err,rows,fields) => {
            if(err){
                console.log("Query Error :- " + err ); 
                body.msg = "Error While Inserting";
                body.insertId = null;
                console.log("reached here");
            }
            else{
                console.log("Inserted" + pet.pet_type);
                console.log(rows.insertId);
                body.msg = "Inserted Successfully";
                body.insertId = rows.insertId;                   
                console.log("reached here");
            }
            return callback(body);
        });
    }
}

-

routes.post('/setPet',(req,res) => {
        var pet = req.body;
        petmodel.addPet(pet, (body) => {
           res.setHeader('Content-Type', 'application/json');
           return res.json(body);
        });

    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...