【发布时间】:2016-06-18 00:32:57
【问题描述】:
我正在尝试在登录过程中获取用户数据。 存储在 rethinkDb 中的数据。 流程是:
• 请求被路由到控制器(通过 express)
• 控制器选择正确的处理程序
• Handler 调用 dao.get():
login: function (email, password, res) {
var feedback = daouser.get(email);
if (feedback.success) {
var user = feedback.data;
//Do some validatios...
}
res.status = 200;
res.send(feedback);
},
• dao.get() 代码为:
get: function (email) {
var feedback = new Feedback();
self.app.dbUsers.filter({email: email}).run().then(function (result) {
var user = result[0];
feedback.success = true;
feedback.data = user;
return feedback;
});
}
但由于调用是通过 promise 进行的,dao.get 在实际的“Then”函数被调用之前返回并且控制器得到undefined反馈......
我的设计有问题……
【问题讨论】:
标签: node.js express promise rethinkdb