当使用ADVANCED_COMPILATION标志编译以下代码并执行时,我的程序在运行时产生错误:
goog.net.XhrIo.send(htmlURL, function(e) { // Theatre.js 122
var xhr = e.target;
var htmlText = xhr.getResponseText();
htmlExtractor.extract(htmlText, 'body');
});
通过源地图,Chrome的控制台提供了此跟踪:
Uncaught TypeError: Cannot read property 'add' of undefined eventtarget.js:222
s.Db eventtarget.js:222
We xhrio.js:308
of Theatre.js:122
xhrio.js:308
x.listen(goog.net.EventType.COMPLETE, opt_callback);
eventtarget.js:222
return this.eventTargetListeners_.add(
String(type), listener, false /* callOnce */, opt_useCapture,
opt_listenerScope);
在简单模式下编译时,代码没有此问题。我无法想到可能导致eventTargetListeners_未定义的事情。有谁知道可能导致这个问题的原因是什么?或者有关如何解决这个问题的任何建议?
由于
(P.S来自http://dev.clojure.org/jira/browse/CLJS-790,我认为ClojureScript开发中的一些人可能已经解决了这个问题,但我不知道ClojureScript知道如何。)