对 Nodejs 完全陌生,在异步编程/回调方面遇到了困难。我想做的是:
在“发布”时,我想收集数据库表中的所有单词。我这样调用它: var Lesson_data = init_load_lesson();
对 init_load_lesson()
的调用来 self 的“routers”文件中的 index.js,这是我的表达。 p>
如何构造正确的回调,以便 Lesson_data 是我的查询结果?
var mysql = require('mysql');
var connection = require('./connection');
var data = [];
function init_load_lesson()
{
connection.connect();
var queryString = "SHOW COLUMNS FROM LessonOneVocabulary";
connection.query(queryString, function(err, rows, fields) {
if (err) throw err;
else
{
for (var i in rows)
{
data.push(rows[i].Fields);
console.log(data);
}
console.log(data);
}
});
connection.end();
}
module.exports = function() {
load_lesson();
};
最佳答案
要添加回调(尝试更多功能,您就会掌握它的窍门):-
function init_load_lesson(callback) {
... // connect to database
if (err) {
callback(err);
} else {
// process item
callback(null, data);
}
}
init_load_lesson(function(err2, results) {
if (err2) {
// process error
} else {
// process results
}
});
关于mysql - 在nodejs中正确的异步mysql查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25222453/