节点js表示试图将orm json传递给客户端
在我的app.js
question = require('./routes/question_api'), app.use(orm.express("mysql://root@127.0.0.1/daat", { define: function (db, models, next) { var question_model = db.define('questions', { id : Number, ..... more definitions } }); models.question = question_model; next(); } }));
在我的question_api.js
var questions = require('../lib/questions/questions.js'); //NEW Question //Get Question by ID //Get Question By Category exports.list = function(req, res){ res.json(questions.list_top_rates(req, res)); };
在我的questions.js
exports.list_top_rates = function(req, res) { var limit = req.limit || 20; var final_result = {"1": {}}; //Z means descending req.models.question.find({}, limit, ["rating", "Z"], function(err, questions) { final_result = questions; return final_result[0]; }); return final_result; // return final_result; // return { // 1: "first question , limit is " + limit, // 2: "second question", // 3: "third question", // 4: "forth question" // } };
我得到空的结果。 如果我直接从question_api.js返回,它的工作原理。
我不知道你正在使用的库,但考虑到你给callback作为参数, find
可能是一个asynchronousfunction。 您将不得不相应地更改您的代码:
question_api.js:
exports.list = function(req, res){ questions.list_top_rates(req, function(final_result) { res.json(final_result); }); };
questions.js:
exports.list_top_rates = function(req, callback /* the parameter res is not needed anymore */) { var limit = req.limit || 20; var final_result = {"1": {}}; //Z means descending req.models.question.find({}, limit, ["rating", "Z"], function(err, questions) { final_result = questions; callback(final_result[0]); }); };
- NodeJS CouchDB长轮询崩溃
- 如何在Node.js和Express中以嵌套forms呈现多个.ejs文件?
- 错误:无法将用户序列化到会话中。 错误的函数传递给serializeUser()?
- CALL_NON_FUNCTION_AS_CONSTRUCTOR(本机)
- node expressjs – 使用body-parser中间件parsing多部分/表单数据POST数据
- Node.js和Mongoose正则expression式查询多个字段
- Route.all()需要callback函数,但得到)=>,然后显示404错误
- 当我使用passeport.authenticate()时,标题消失
- 快递应用程序中的助手文件夹有什么意义?