我正在尝试按照基本的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/
我没有使用过新的模块加载器,所以我打赌我只是有一些简单的误解。
帮助!
答案 0 :(得分:1)
看起来你是正确的,并且对于永远不会加载的模块要求存在“等待循环”。这可能是dojox.cometd中的任何要求,您需要重写代码库以进行修复。
我和RollingListPane有类似的问题,也在dojox存储库中 - 并且开发人员说'我们100%AMD兼容1.7'但是dojox中的X是实验性的缩写。 dojox模块的开发不是由核心djtk团队完成的,仍然存在故障..
尝试让初学者避免使用已在每个模块上执行>>构建宏的CDN。在使用AMD时,这往往会失败。而是下载tarball并使用本地副本 - 未压缩(dojo-release-1.7.2- src )
答案 1 :(得分:0)
您可以在以下链接中找到cometD和ExtJs中的hello world示例: http://jksnu.blogspot.in/2013/08/network-reliability-by-cometd-hellow_16.html