2016-03-17 2 views
2

Мы имеем дело с SPA (одностраничным приложением), поэтому, когда пользователь входит в пользовательский интерфейс, обновляется без обновления страницы. Мы также инициируем соединение сокетов потока через библиотеку, как показано ниже. Теперь, когда пользователь выходит из системы, мы хотим его уничтожить. Мы попробовали user1.unsubscribe() и client.disconnect(), но, похоже, не работают, хотя метод выглядит в источнике.Отказаться от подписки/Отключить библиотеку JS в реальном времени

Каков правильный способ справиться с этим в среде, где страница никогда не обновляется?

client = Stream.connect('xxx', null, 'xxx') 
    user1 = client.feed('notification', @user.get('id'), @user.get('streamToken')) 

    callback = (data) => 
    return 

    failCallback = (data) -> 
    return 

    user1.subscribe(callback).then (-> 
), failCallback 

    @user.on 'logged:out', -> 
    user1.unsubscribe() 
    client.disconnect() 

ответ

2

Вы должны захватить связывание вернулся из user1.subscribe, на этом объекте можно назвать unsubscribe отменить подписку в режиме реального времени. См. Раздел Faye библиотеки Stream-js. Пример кода:

var subscription = user1.subscribe(callback).then(function() {}, function() {}); 
subscription.cancel(); 
+0

'вар подписки = user1.subscribe (обратный вызов);' ' subscription.then (функция() {}, функция() {});' ' subscription.cancel(); ' – Sergey

 Смежные вопросы

  • Нет связанных вопросов^_^