gpt4 book ai didi

angular - ng2 stomp 客户端 unsubscribe() 不起作用

转载 作者:行者123 更新时间:2023-12-02 20:39:50 28 4
gpt4 key购买 nike

我正在使用 ng2-stomp-service 订阅套接字:

this.fooSubscription = this.stomp.subscribe('/topic/foo', (res) => {
console.log('do stuff with res');
});

这非常适合接收数据。但在某些时候(单击按钮时)我想停止接收数据。该连接仍在被其他订阅使用,因此我只想取消订阅此特定订阅。单击按钮时发生这种情况:

unsubscribeFoo() {
this.fooSubscription.unsubscribe();
}

但是,我仍然清楚地获取来自此订阅的数据,因为它是从服务器发送的。

当我取消订阅时,我在浏览器控制台中从 stomp 的调试输出中看到了这一点,这看起来很有希望:

>>> UNSUBSCRIBE
id:sub-3

但是可惜,片刻之后我仍然得到数据。

最佳答案

我知道这是一个老问题,但对于任何偶然发现这个问题的人来说,取消订阅函数引用的是主题的 ID,而不是实际的主题。

您可以在订阅函数中设置id:

client.subscribe(topic, messageHandler, { id: “myTopicId”});

现在您可以像这样调用取消订阅:

client.unsubscribe(“myTopicId”);

关于angular - ng2 stomp 客户端 unsubscribe() 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46228123/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com