所以我正在使用Node和Angular(第一个项目)开展项目。基本上我想使用Angulars $ http服务从数据库中获取一些内容,该服务调用Express中设置的端点,该端点使用Sequelize查询数据库。这是每个的片段:
前端App.js
$http
.get('/getmessages').success(function(data){
$scope.messages = data;
})
Serverside消息控制器
router.get('/', function(req, res, next){
model.getMessages(function(results){
return results;
});
})
模型
exports.getMessages = function(callback){
var result = model.findAll().then(function(messages){
return callback(messages);
});
所以我遇到的问题是代码在模型有机会返回之前快速返回,我需要控制它。我是否真的需要对我的特定问题使用异步?我一直在研究如何控制流量,但我无法得到我需要的答案。如果你能看看,请提前致谢。
答案 0 :(得分:0)
检查你的回调。
function(req, res, next){
model.getMessages(function(results){
return results;
}
您的服务器端代码将返回undefined。它会运行model.getMessages
......当发生这种情况时,由于没有什么可做的,只需退出即可。这就是为什么它看起来发生得太快了。
在模型返回后,可能希望res.send
返回回调内部。
评论中关于异步的想法。