尝试使用实时数据库通信时未收到通知
Posted
技术标签:
【中文标题】尝试使用实时数据库通信时未收到通知【英文标题】:Not getting a notification when trying to use real-time database communications 【发布时间】:2015-12-20 09:15:23 【问题描述】:我正在尝试使用网络套接字向我的应用程序添加新通知。我正在使用 Backand 作为我的服务器,并且似乎无法掌握对新事件的响应。这是我发送事件的服务器端代码:
//Action: Update - After data saved and committed
function backandCallback(userInput, dbRow, parameters, userProfile)
//Send to array of users
socket.emitUsers("new_notification",userInput, ["admins"]);
return ;
我的客户端代码来接收它:
//Wait for server updates on 'items' object
Backand.on('new_notification', function (data)
//Get the 'items' object that have changed
console.log(data);
);
但是当我尝试在我的应用代码中接收事件时,我从未看到“new_notification”类型的通知。谁能告诉我这是怎么回事?
【问题讨论】:
【参考方案1】:确保您使用的是 emitRole 而不是 emitUsers。上面的代码发送到用户数组,但看起来您想向“管理员”角色发送通知。把它改成 emitRole() 就可以了。
【讨论】:
我怎样才能把它设置给用户呢? 哦,现在我明白了。谢谢,太完美了。【参考方案2】:对于您希望保持区分大小写的角色,它将是: socket.emitRole("items_updated",userInput, "Admin");
对于用户来说,语法是: socket.emitUsers("items_updated",userInput, ["user2@gmail.com","user1@gmail.com"]);
【讨论】:
以上是关于尝试使用实时数据库通信时未收到通知的主要内容,如果未能解决你的问题,请参考以下文章