我對NodeJS和JavaScript一般都很陌生。這裏是我的腳本:NodeJS回調之外的變量
var data = [];
client.query(
'SELECT * FROM cds',
function selectCb(err, results, fields) {
if (err) {
throw err;
}
console.log(results);
console.log(fields);
data.push(results);
}
);
console.log(data);
我怎樣才能得到回調的外部訪問的results
(或data
)VAR?我不想在運行查詢時寫入大量的回調函數。
我不確定我是否理解。這些回調的要點是,其餘代碼可以執行,不必等待查詢。因此,假設'results'是最後一行中'data'的元素沒有多大意義,因爲查詢還沒有完成。 – pimvdb
我想我的設計是錯誤的,並希望有更好的解決方案。你知道如何使用node-mysql從查詢中獲取數據,而無需使用回調? – mikelbring
這聽起來像你想要同步代碼,以便函數等待查詢結束。我不確定這是最好的方法。是否有任何理由不只是在回調中執行查詢的依賴關係? – pimvdb