从node.js返回id无效

时间:2016-08-23 14:44:00

标签: angularjs node.js

编辑:问题是console.log(theID)在查询回调中分配值之前执行。所以我现在的问题是如何让查询回调首先运行,以便在返回之前将ID分配给一个值

这是Server.js。

app.get('/testtwilio2', function(req,res,next){
    var theID;
    var p;
    var config;
     var pat = {name: req.query.name, number: req.query.number, date:req.query.date, reminded: 0, paid:0 };
        connection.query('INSERT INTO patientlist SET ?', pat, function(err,res){

        if(err) throw err;
             theID = res.insertId

            console.log('Last insert ID:', theID); //returns correct value
             p = {id: theID, name: req.query.name, date: req.query.date, number: req.query.number, reminded: req.query.reminded};
        var fs = require('fs');
        var configFile = fs.readFileSync('./Public/worked.json');
        var config = JSON.parse(configFile);

        var object = req.query.name;
        config.push(p);
        var configJSON = JSON.stringify(config);
        fs.writeFileSync('./Public/worked.json', configJSON);


        });
        console.log(theID); //this executes first meaning theID hasn't been assigned a value
        return res.json(theID);
});

0 个答案:

没有答案