簡體   English   中英

使用交叉過濾器的遞歸錯誤過多

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM