Переместить существующую подписку на ошибку канала

Я получаю следующую ошибку от толкателя:

Pusher : Error : {"type":"WebSocketError","error":    
{"type":"PusherError","data":{"code":null,"message":"Existing subscription to 
channel room-1"}}}

Я использую угловой. Каждый раз, когда я вхожу в состояние «комната», я настраиваю толкатель для подписки на канал комнаты. Однако, если в какой-то момент я выйду из состояния комнаты, а затем вернусь, он попытается подписаться во второй раз и выдаст указанную выше ошибку. Сначала я попытался проверить существующую подписку с помощью pusher.channel, но, похоже, это не сработало. Кто-нибудь знает, что случилось? (мой код coffeescript ниже)

pusher = $pusher($window.client)

unless pusher.channel('room-' + $scope.room.id)
  room_channel = pusher.subscribe('room-' + $scope.room.id)

Я должен отметить, что pusher.channel, кажется, работает, когда я вручную запускаю в консоли Chrome...


person David    schedule 31.03.2015    source источник
comment
Используете ли вы напрямую библиотеку JavaScript Pusher или используете pusher-angular?   -  person leggetter    schedule 01.04.2015
comment
Я использую pusher-angular :)   -  person David    schedule 01.04.2015
comment
Не могли бы вы получить немного отладочной информации? 1. Вывод из Pusher.log 2. Некоторые console.log вокруг unless проверки. Может быть, вывести значение pusher.allChannels() и значение 'room-' + $scope.room.id? Спасибо.   -  person leggetter    schedule 01.04.2015
comment
Привет @David, я один из тех, кто работал над библиотекой, и это действительно похоже на ошибку. У вас есть небольшой пример приложения, в котором возникает проблема, на которое я могу взглянуть? Спасибо   -  person hamchapman    schedule 08.04.2015


Ответы (2)


Я получаю ту же проблему в течение последних нескольких дней, используя угловой толкатель.

person Ben Kilah    schedule 01.04.2015

У меня было такое же поведение, и я обнаружил, что добавляю функцию привязки как после успешного входа в систему, так и в своих преобразователях пользовательского интерфейса.
Проверьте Существующая подписка на канал при подписке только один раз для некоторых подсказок - это похоже на ошибку в исходной библиотеке pusher.js при многократном подключении к тот же канал, еще не подключенный к Pusher.

person Ciro Mattia Gonano    schedule 06.05.2015