【发布时间】:2014-05-17 10:21:49
【问题描述】:
我的控制器中有一个代码,它适用于 http 请求,用于保存用户在前端添加的帖子。所以我做了类似的事情,Model.create()。 现在发生的事情是在我想要返回帖子是否成功添加的回调上,以便我的前端可以向用户显示适当的消息。但是 create 方法是异步工作的。 以下是示例代码:
create: function(req, res){
Activity.create(req.body).done(
function(err, persistedActivity) {
// Error handling
if (err) {
return res.json({success: false});
// The Activity could not be created!
} else {
return res.json({success : true});
}
}
);
}
但是这段代码不起作用,因为 Activity.create() 方法是异步的。 我也在其他问题或帖子中阅读过它。没有什么能表明我正在寻找的确切实现,但它确实告诉我“不要与 nodejs 的异步性质作斗争。它只会在以后受到伤害。”,相信我,像其他人一样,我不想受到伤害。 我基本上需要关于如何处理这个问题的建议。
【问题讨论】:
-
不,无法到达那里。它没有给我解决方案,已经解决了。
-
好的,你能从函数中返回一个promise吗?
-
我在这里寻找建议,如果是建议,我会研究承诺并回复..
-
这里有什么问题,代码不起作用 - 你得到什么响应?请求的响应不需要同步创建,从异步回调中调用
res.json()非常好。
标签: javascript node.js asynchronous sails.js waterline