【发布时间】:2023-04-08 16:34:02
【问题描述】:
在我的 Sails 项目中,我有一个 User 模型/控制器和一个 Request 模型/控制器,以及一个 Dashboard 控制器。用户可以使用RequestController.create 提出数据请求,管理员可以使用RequestController.grant 批准它。
我想要做的是在他/她的一个请求被批准(更新)时通知用户。在RequestController.grant 中,我调用Request.publishUpdate(...),在我的DashboardController.display 中,我调用
Request.find(req.session.user.id, function(err, requests) {
...
Request.subscribe(req, requests, ['update'])
...
});
然后,在视图/dashboard/display,我放入<script>标签:
<script>
// Socket handling for notifications
io.socket.on("request", function(obj) {
alert(obj.verb);
alert(obj.data);
alert(obj.previous);
});
</script>
但是,在批准用户的请求并转到仪表板后,不会显示任何警报。 Sails.io 的脚本已经加载,控制台中没有错误。难道我做错了什么?
【问题讨论】:
标签: node.js socket.io messaging sails.js publish-subscribe