【问题标题】:cometd hello world example with dojocometd hello world 示例与 dojo
【发布时间】:2012-05-22 19:29:13
【问题描述】:

我在这里尝试遵循基本的 cometd 示例:http://dojotoolkit.org/reference-guide/1.7/dojox/cometd.html

它使用的是旧的模块加载器,所以我尝试了如下等效:

require(["dojo/ready","dojo/io/script","dojox/cometd","dojox/cometd/callbackPollTransport"], function(ready, dontcare, cometd) {
    ready(function(){   
        cometd.init('http://localhost:8080/MyCometD/cometd');
        comted.subscribe("/test", function(msg){
            console.debug(msg);
        });
    });
});

这不起作用,我认为它与加载模块有关 - 存在某种静默错误,因为 ready 函数中的代码根本不执行。我发现当“dojox/cometd” require 语句存在时,ready 函数中的代码不会执行。

运行示例:http://jsfiddle.net/Q9W8f/2/

删除了 dojox/comted 的示例:http://jsfiddle.net/mMs2h/4/

我没有经常使用新的模块加载器,所以我敢打赌我只是有一些简单的误解。

救命!

【问题讨论】:

    标签: dojo cometd


    【解决方案1】:

    您似乎是对的,并且对于永远不会加载的模块要求存在“等待循环”。这可能是 dojox.cometd 中的任何要求,您需要重写代码库以进行修复。

    我在 dojox 存储库中也遇到了类似的 RollingListPane 问题 - 开发人员说“我们 100% 符合 AMD 1.7”但是 dojox 中的 X 是实验性的缩写。 dojox模块的开发不是djtk核心团队做的,还是有问题的..

    尝试让初学者避免使用在每个模块上都执行了 >>built 宏的 CDN。在使用 AMD 时,这有时会失败。而是下载 tarball 并使用本地副本 - 未压缩 (dojo-release-1.7.2-src)

    【讨论】:

    • 谢谢,我切换到旧的包加载方式,解决了这个问题
    • 我刚刚尝试了一个更新版本的 cometd (2.5),最新版本适用于 AMD
    【解决方案2】:

    您可以在以下链接中找到 cometD 和 ExtJs 中的 hello world 示例: http://jksnu.blogspot.in/2013/08/network-reliability-by-cometd-hellow_16.html

    【讨论】:

    猜你喜欢
    • 2012-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-26
    • 2013-07-31
    • 1970-01-01
    相关资源
    最近更新 更多