使用tedious 做query時push array無法用
我在做sql資料查詢的時候
發現無法把抓到的值push到array中
resultarray.push(rowObject); 把db抓到的值push到array中
前端用ajax收到資料後 發現收到的陣列resultarray是空的
但自己另外寫的陣列可以正常傳送
是因為callback的關係嗎?
app.post('/search_address', urlencodedParser, function (req, res) {
var sql = "select house_number,landlord_number,tenant_number,house_address from house where house_address like '%" + req.body.address_search + "%'";
request = new Request(sql, function (err) {
if (err) {
console.log(err);
}
});
var result ="";
var resultarray = [];
request.on('row', function (columns) {
columns.forEach(function (column) {
var rowObject = {};
if (column.value === null) {
console.log('NULL');
} else {
rowObject[column.metadata.colName] = column.value;
}
resultarray.push(rowObject);
});
});
request.on('done', function (rowCount, more) {
console.log(rowCount + ' rows returned');
});
res.send(resultarray);
connection.execSql(request);
})
請問我是哪邊有操作錯誤嗎? 謝謝
1 回复
res.send(resultarray); 应该放在 request.on(‘done’, function (rowCount, more) { … }) 里面