6
我正在使用PubNub進行與骨幹和javascript sdk的應用內聊天。如果我導航到另一個視圖並返回聊天窗口,那麼當我發佈消息時,我會重複收到它。如果我再次瀏覽我收到的消息一式三份,等等。Pubnub接收到重複消息
我想我每次都重複訂閱聊天頁面 - 但我無法取消訂閱工作,我可以'找到任何其他地方訂閱的文檔。
是否有我可以用來查看我是否已經訂閱的支票?
我的代碼是:
// INIT
var channel = 'my_channel';
var pubnub = PUBNUB.init({
subscribe_key : 'demo',
publish_key : 'demo'
});
function chat(message) {
if (message.uid == "xxx") {
$("#convo").append('<div class="isaid">' + message.message + '</div><div class="clear clearfix"></div>');
} else {
$("#convo").append('<div class="hesaid">' + message.message + '</div><div class="clear clearfix"></div>');
}
}
pubnub.history({
channel : channel, // USER_ID Channel
limit : 30, // Load Last 50 Messages
callback : function(msgs) {
pubnub.each(msgs[0], chat);
}
});
pubnub.subscribe({
channel: 'my_channel',
callback: function(data) {
chat(data);
}
});
pubnub.publish({
channel: 'my_channel',
message: data
});
我應該添加消息正在發送一個,並接收多次 - 如果我重新加載應用程序的歷史不包含重複。 – Citylogic
'pubnub.unsubscribe({channel:'my_channel'});'不起作用? – sb9
我試着把它放在'close:function()'中,但視圖不關閉。我不確定我應該取消訂閱。 – Citylogic