0

我正在尝试在这里遵循基本的彗星示例: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);
        });
    });
});

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

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

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

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

帮助!

4

2 回答 2

1

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

我对 RollingListPane 也有类似的问题,也在 dojox 存储库中 - 开发人员说“我们 100% 兼容 AMD 1.7”但是 dojox 中的 X 是实验性的缩写。dojox 模块的开发不是由核心 djtk 团队完成的,仍然存在故障..

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

于 2012-05-22T20:10:57.380 回答
0

You can find the hello world example in cometD and ExtJs at following link: http://jksnu.blogspot.in/2013/08/network-reliability-by-cometd-hellow_16.html

于 2013-10-26T03:40:06.350 回答