Не получать уведомления при попытке использовать связь с базой данных в реальном времени
Я пытаюсь использовать веб-сокеты, чтобы добавить новое уведомление в мое приложение. Я использую 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". Может кто-нибудь, пожалуйста, дайте мне знать, что происходит?
2 ответа
Убедитесь, что вы используете emitRole вместо emitUsers. Приведенный выше код отправляет пользовательский массив, но похоже, что вы хотите отправить уведомление роли "администраторы". Измените это на emitRole(), и вы должны быть в порядке.
Для роли вы хотите, чтобы она чувствительна к регистру, поэтому она будет выглядеть так: socket.emitRole("items_updated",userInput, "Admin");
Для пользователей синтаксис: socket.emitUsers("items_updated",userInput, ["user2@gmail.com","user1@gmail.com"]);