2016-03-11 61 views
0

showBets函數中的console.log工作正常,但不是res.write。我誤解它是如何工作的?這些文件並沒有讓我變得更聰明。res.write不起作用,而同樣的事情在console.log中起作用

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); 
      } 
     } 
    }); 
} 
+0

你'res.end();',你呢? – llamerr

+0

不,我應該嗎?關閉查詢? –

+0

我現在沒有任何快速安裝,但這個答案說你應該http://stackoverflow.com/a/21749726/319375 – llamerr

回答

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(); 
    }); 
} 
2

你應該小心 「資源」 變

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的差異。

+0

我得到的錯誤:錯誤:現在結束 後寫。爲什麼我需要小心res的變量? –