我正在为我的雇主测试一个 Web 应用程序,其中涉及从服务器检索大量数据。使用$.ajax函数将数据作为 JSON 对象返回,其中包含大量子对象,我使用 jQuery 的$.map函数将其转换为数组,如下所示
data_points = $.map(result.data.LotsOfIt, function(value, ndx){
return value;
}); //Throws Maximum call stack size exceeded with large data set.
这似乎耗尽了 Chrome 的堆栈大小限制,每次我运行这个函数 Chrome 都会抛出RangeError: Maximum call stack size exceeded。如果我减少返回的数据量,它就可以正常工作。有趣的是,FireFox 和 IE9 可以很好地处理更大的数据集,但我认为 Chrome 的堆栈大小限制比这些浏览器中的任何一个都大,所以我预计它们也会失败。有没有其他人遇到过这个问题?有解决方法吗?或者我是否必须更新我的代码以限制返回的数据量以避免此错误?