Не получать уведомления при попытке использовать связь с базой данных в реальном времени

Я пытаюсь использовать веб-сокеты, чтобы добавить новое уведомление в мое приложение. Я использую 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"]);

Другие вопросы по тегам