javascript - Chrome 中的 JQuery-find-each:未捕获 RangeError:超出最大调用堆栈大小
问题描述
我创建了一个演示:
$.ajax({
type: "POST",
url: "bigdata.xml",
dataType: "xml",
success: function(result){
var count = 0;
var bigdata = $(result).find("root");
bigdata.find("row").each(function(index, element) {
count++;
});
console.log('(125148 is good, 125149 is not good; count =', count);
}
});
具有以下内容bigdata.xml
:
<root>
<row/>
<row/>
.
.
.
<row/>
</root>
<row/>
导致问题的数量。如果我有 125148<row/>
那就没问题了。但是,如果我有 125149 <row/>
,那么我在使用 Chrome 引擎的浏览器中会出现此错误:
Uncaught RangeError: Maximum call stack size exceeded
<row/>
在 Firefox 中,即使数量更高,我也没有此错误。这里有什么问题?是 Chrome 的问题吗?还是 jQuery?
在我的应用程序中,我必须显示超过 13 万个项目,所以我必须以某种方式解决这个问题。
编辑:数字 125149 是 Windows10 的限制。现在我在 Linux 下试过了,Chrome 可以在那里处理 125235 行。
解决方案
推荐阅读
- matlab - 如何在 MATLAB 中绘制特征向量?
- sharepoint - 如何使用图形 api 在 Sharpepoint 中提交内容批准/批准内容
- c - c:按网络字节顺序递增 IPv4 地址的八位字节
- python - Pandas get_dummies 包含缺少类别的列?
- ios - 在用户默认值中存储字典时尝试插入非属性列表对象错误
- python - 使用 pandas merge_asof() 识别范围关系
- swift - 通过单击 Xcode 源代码管理中的“结帐”损失了 2 周的进度,有什么办法可以恢复吗?
- r - R上的三个感叹号
- mysql - digitalocean上的Laravel 5:无法连接到数据库
- jenkins - 空手道 afterFeature 函数执行在本地运行时工作正常,但在通过 Jenkins 运行时失败