[英]Too much recursion error using crossfilter
以下页面在Chrome中加载,但是在Firefox / IE中,crossfilter.js脚本(crossfilter.js)中发生错误“太多的递归”。
链接: http : //bit.ly/1epx0Gs
如何避免(或调试)这种情况?
编辑
原来Chrome可以用破折号(“ 6-12-2013”)解析日期,但是Firefox / ie需要空格(“ 6 12 2013”)
没有可运行的示例,我实际上没有任何方法可以验证这是问题所在,但是您的维度中可能有非自然排序的值。 您需要转换尺寸值,并确保所有值均有效。 相关部分看起来是:
self.data.push({
index:index,
starttime:new Date(d.starttime),
sex:d.gender == '' ? 'Non-Subscriber' : d.gender,
value:d.count
})
我至少将其更改为:
self.data.push({
index:+index,
starttime:new Date(d.starttime),
sex:d.gender == '' ? 'Non-Subscriber' : '' + d.gender,
value:+d.count
})
如果您有无效的d.starttime值,则Date()可能仍会绊倒您,因此,如果仍然出现错误,您可能希望尝试仅用“ new Date()”替换它。
同样,不能保证会导致您的问题,但是当我遇到这些递归错误时,通常是原因。
我只是遇到了同样的问题,但是解决方案不是日期格式,而是JS文件本身的编码。 也许这会帮助别人。
我正在使用以下维度进行一些过滤:
CF_data = crossfilter(data);
CF_data_id = CF_data.dimension(function(d) { return +d.properties['Código']; });
注意return语句选择器中的西班牙语“ o”字符。
并且引发了以下错误:
# too much recursion crossfilter.js:174:9
检查完所有内容后,我注意到我的文件突然被编码为ANSI而不是UTF8。 因此,在notepadd ++中,我将文件转换回了UTF8,错误消失了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.