当管理员在数据库中更改某些内容时,是否可以向所有用户发送消息(例如使用alert
)?
情况:用户浏览汽车优惠并在执行此管理时更改了少数优惠的价格 - >用户收到通知。
答案 0 :(得分:0)
您可以在每个数据库操作结束时使用socket.blast()。
因此,如果任何用户正在收听blasted消息,您可以进行API调用以便获取新记录。
答案 1 :(得分:0)
只需将数据库更新事件耦合到这样的发射:
<强>后端强>
io.on('connection', (socket) => {
console.log('A user connected');
// handling event from the front-end:
socket.on('clientEvent', function(data) {
// Database update happens before this
socket.emit('databaseUpdate', { description: 'Database is updated'});
});
});
这样,每次数据库更新发生时,都会向前端发送一个新事件给所有连接的用户。您的前端现在可以按如下方式监听它(连接的前端听取后端发出的databaseUpdates):
<强>前端强>
var socket = io();
// now we just log the updated data but in this callback you provide your own implementation.
socket.on('databaseUpdate', (data) => console.log(data.description));
希望你在这里找到这个答案有用的更多信息