2017-04-06 38 views
0
  1. 如何在这种情况下正确地创建回调函数。如何使用postgresql db在express js中创建回调函数?

  2. 如何等到查询执行结果。这是代码片段:


app.post('/validate', urlencodedParser, function (req, res) { 
    var data = [ 
     {username:req.body.user, password:req.body.pwd} 
    ]; 
    var disp = function (data,res, callback) { 
     return callback(data,res); 
    } 
    console.log(disp(data,res, LoginCheck)); 
}); 

var LoginCheck = function (data,res) { 
    var dbresult = []; 
    var client = new pg.Client(conString); 
    client.connect(); 
    var query = client.query("SELECT * FROM employee_details"); 
    query.on("row", function (row, result) { 
     result.addRow(row); 
    }); 
    query.on("end", function (result) {  
     dbresult=result.rows; 
     console.log(dbresult); 
     return dbresult;   
    }); 
}            

回答

0

你只需要一个回调函数

app.post('/validate', urlencodedParser, function (req, res) { 
    var data = [ 
    {username:req.body.user, password:req.body.pwd} 
    ]; 

/* var disp = function (data,res, callback) { 
    return callback(data,res,callback2); 
    } 
    console.log(disp(data,res, LoginCheck)); 
    */ 

    LoginCheck(data,res, function(result){ 

    if(result){ 

     //do whatever you want 

     console.log(result) 

    } 

    }) 


}); 

var LoginCheck = function (data,res,callback2) { 
    var dbresult = []; 
    var client = new pg.Client(conString); 
    client.connect(); 
    var query = client.query("SELECT * FROM employee_details"); 
    query.on("row", function (row, result) { 
    result.addRow(row); 
    }); 
    query.on("end", function (result) { 

    dbresult=result.rows; 
    console.log(dbresult); 
    return callback2(dbresult); 

    }); 
}            
相关问题