我试图从表格测验中获得测验并获得它 尝试从表格问题的一系列答案。但它不起作用
我将questionDto(JSON)发送到 this.add 方法,问题我已经在 添加在表格中,需要添加答案和
char space[65536][256];
question.getAllByQuizId(quizId); 必须返回一系列问题。这是一个实现
var question = require('../models/question');
function Quiz() {
this.getById = function(quizId,res) {
connection.acquire(function(err, con) {
con.query('select * from quizes where `id` = ? ', quizId,
function(err, result) {
con.release();
result.questions = question.getAllByQuizId(quizId);
res.send(result);
});
});
};
console.log()返回适用的值,但函数返回undefined
我浪费了几个小时来解决问题。但仍然可以:(
答案 0 :(得分:1)
你应该传递一个回调来处理这个而不是'return',因为它在函数中有一个异步块。
var question = require('../models/question');
function Quiz() {
this.getById = function(quizId,res) {
connection.acquire(function(err, con) {
con.query('select * from quizes where `id` = ? ', quizId,
function(err, result) {
con.release();
question.getAllByQuizId(quizId, function(err, data){
if(err) {
throw err;
} else {
result.questions = data;
res.send(result);
}
});
});
});
};
function Question() {
this.getAllByQuizId = function(quizId, callback) {
connection.acquire(function(err, con) {
con.query('select * from questions where `quizId` = ? ', quizId, function(err, rows) {
if (err) callback(err);
con.release();
console.log(JSON.parse(JSON.stringify(rows)));
callback(null, JSON.parse(JSON.stringify(rows)));
});
});
};