res.write没有工作,而在console.log

时间:2016-03-11 11:40:18

标签: javascript node.js express

showBets函数中的console.log工作正常,但不是res.write。我误解了它是如何工作的吗?文档并没有让我更聪明。

app.js

var queryString = 'SELECT * FROM bets';

router.get("/bets",function(req, res){
    showBets(res);
    res.sendFile(path + "bets.html");
});

function showBets(res){
    connection.query(queryString, function(err, rows, fields, res) {
        if (err) throw err;

        else{
            for (var i in rows) {
                res.write(rows[i].title);
                console.log(rows[i].creator);
            }
        }
    });
}

2 个答案:

答案 0 :(得分:2)

你应该小心" res"变量

function showBets(res1){
    connection.query(queryString, function(err, rows, fields, res2) {
        if (err) throw err;

        else{
            for (var i in rows) {
                res1.write(rows[i].title);
                console.log(rows[i].creator);
            }
        }
    });

res1和res2是不同的。

答案 1 :(得分:0)

通过这样做解决了这个问题:

function showBets(res) {
  var queryString = 'SELECT * FROM bets';

  connection.query(queryString, [], function(err, rows) {
    if (err) {
      console.log("aa: " + err);
      throw err;
    } 

    rows.forEach(function(row) {
      res.write(row.creator);
      console.log(row.creator);
    });

    res.end();
  });
}