【发布时间】:2017-08-25 13:22:26
【问题描述】:
刚开始学习 express js 框架,这是我的简单数据库查询执行部分,它使用这个 url localhost:3000/api/test 调用。
db.query('SELECT * FROM user', function (error, results, fields) {
if (error) throw error;
console.log('The result is:', results[0].id);
return results;
});
真的是异步的吗??假设另一个用户请求这个 url 他需要等待之前的查询执行吗??。
我听说过 async 包,但不知道这在我的情况下如何适用
更新
我在 console.log(); 中得到了正确的结果;但是当我返回结果时,我得到了未定义的错误
这是我的model.js
module.exports = {
getUser:function () {
db.query('SELECT * FROM user', function (error, results, fields) {
if (error) throw error;
console.log('The result is: ', results[0].id);
});
}
}
来自我的 controller.js
var model = require('../models/user.js');
module.exports = {
getData : function(req, res){
//invoke model
console.log(model.getUser());
}
}
【问题讨论】:
标签: javascript node.js express asynchronous