首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Stomp -多个订阅,每个订阅都有一个唯一的处理程序

Stomp -多个订阅,每个订阅都有一个唯一的处理程序
EN

Stack Overflow用户
提问于 2011-01-04 06:21:56
回答 1查看 756关注 0票数 1

我正在使用Stomp / Orbited来实现Comet功能。

为了处理多个通道,我最终这样做:

代码语言:javascript
复制
stomp.onmessageframe = function(frame) {

if (Frame.headers‘’destination‘== '/ thisFeed /') {//处理thisFeed}

if (Frame.headers‘’destination‘== '/ thatFeed /') {//处理thatFeed}

我想,....which还不错。但是,如果我在加载时不知道如何处理提要呢?我希望能够做这样的事情:

Stomp.subscribe(‘某些其他馈送’,someOtherFeedHandler);

这样,当我订阅时,我才能定义处理程序。

EN

回答 1

Stack Overflow用户

发布于 2011-01-05 03:58:52

我已经想出了一个解决方案,但它离漂亮还很远。

当我创建stomp消息时,我添加了一个"handler“属性作为头文件,就像在python中一样:

代码语言:javascript
复制
conn.send('Frank the Wonder Llama", destination="/infoAboutLlamas/", handler='llamas')

然后,在javascript中:

代码语言:javascript
复制
    stomp.onmessageframe = function(frame) {
    window[frame.headers['handler']]() //Execute the function named by the handler
}

然后,调用函数...so ()。然后我可以在我想要的任何地方定义(和重新定义)大羊驼。

现在我确信这不可能是最优的解决方案。另一方面,我确实喜欢它给了我一点灵活性,让我可以在python中指定我想要使用的处理程序。但说真的,我在想有一个更好的方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4588928

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档