Проблема с socket.io на клиенте?

У меня есть контроллер:

Код клиента:
.controller('chatNotificationCtrl', ['$scope', 'socket', 'toastr', '$http', function($scope, socket, toastr, $http) {

	$scope.chatNotifications = {};

	if ($scope.logged) {
		$scope.chatNotifications = $scope.logged.chatNotify;
	} else {
		return;
	}
	socket.on('notify:chat', function(data) {
		console.log('NOTIFY CHAT');
		$scope.chatNotifications.unshift(data);
		toastr.success('Example', 'New Message');
	});
	$scope.$on('$destroy', function() {
		socket.removeAllListeners();
	});
}]);


проблема заключается в том что когда я шлю emit на "notify:chat'" у меня на клиенте иногда дублируется "on"
на это событие как это поправить? я так понял что происходит это из за перезагрузки контроллера и
создаются новые слушатели но старые не удаляются. Помогите : (

Код сервера:

                io.sockets.to(message.users).emit('notify:chat', newChatNotify);
  • Вопрос задан
  • 356 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Alastor
попробуй внутри removeAllListeners указать какие именно слушатели удаляешь
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы