用户注销时无法取消订阅 eventSource

Posted

技术标签:

【中文标题】用户注销时无法取消订阅 eventSource【英文标题】:Cannot unsubscribe from eventSource when user logs out 【发布时间】:2014-07-10 11:37:32 【问题描述】:

我正在使用 IBM Worklight 6.1.0 并在 ios 7 设备上进行测试。

在测试我的应用程序并尝试注销时,我仍然订阅了 eventSource。

这是我的代码:

function logout() 
    console.log('logout');

    WL.Client.logout('FahrAuthRealm',onSuccess:function()
        WL.Client.updateUserInfo();
        console.log('logout Success');

        WL.Client.Push.unsubscribe("myPush", 
            onSuccess: function() alert("unsubscribe myPush success");,
            onFailure: function() alert("unsubscribe myPush failed");
        );
        router.navigate("#home",true);
    );

我的代码有问题吗? 为什么我无法取消订阅 eventSource?

【问题讨论】:

最好能提一下为什么你认为你还在登录,以及你在注销时是否在 Xcode 控制台中看到任何错误等...跨度> 【参考方案1】:

我认为您可能应该先取消订阅,然后然后退出该领域... 也许这会更好:

function logout() 
    WL.Client.Push.unsubscribe("myPush", 
        onSuccess: function() 
            alert("unsubscribe myPush success");
            WL.Client.logout("FahrAuthRealm", 
                onSuccess: function() 
                    WL.Client.updateUserInfo();
                    router.navigate("#home",true);
                
            );
        ,
        onFailure: function() 
            alert("unsubscribe myPush failed");
        
    );
 

【讨论】:

以上是关于用户注销时无法取消订阅 eventSource的主要内容,如果未能解决你的问题,请参考以下文章

注销时取消订阅所有订阅#Quickblox APNS & APNS.VOIP

AngularFire2:通过多个浏览器选项卡通知注销

注销后权限缺失或权限不足错误

xmpp strophe 用户注销时接收通知订阅

无法在 Android 中取消注册 GCM

当用户关闭浏览器而不单击注销时销毁或取消设置会话[重复]