jQuery 捕获“RangeError:超出最大调用堆栈大小”

mre*_*req 2 javascript jquery google-chrome chromium

我有一个页面,在 FF 和 IE 中工作正常。然而,铬抛出

jquery.min.js:2    Uncaught RangeError: Maximum call stack size exceeded
Run Code Online (Sandbox Code Playgroud)

这是因为尝试处理大量数据(请参阅Chrome RangeError: Maximum call stack size exceeded when using jQuery $.map)。

是否可能catch出现错误,从而使整个页面的 javascript 不会挂起?还是我必须减少 chrome 的数据量。

Spl*_*ity 5

JavaScript 不支持尾递归。您可能正在从一个函数中调用一个函数,直到它崩溃。(请发布一些代码以显示您在做什么)。

在“迭代”之间使用setTimeout。这样您就不会阻塞 UI 或炸毁堆栈。