我有一个网络应用程序使用jQuery/JavaScript重重。它在内存中保存一个大数组,用户通过在文本框中键入内容来过滤它。
问题:当过滤算法运行时,应用程序变得无响应浏览器甚至可能询问用户是否让脚本继续。
最理想的是,我希望过滤器功能在单独的线程,以避免无响应。这有可能吗?或者,我想显示一个旋转沙漏或类似的东西,但浏览器在运行繁重的脚本时似乎无法显示动画 GIF。
解决问题的最佳方法是什么?
浏览器在主事件处理线程中执行脚本。这意味着任何长时间运行的脚本都会占用浏览器队列。
您应该将过滤器逻辑分成块并运行它们timeout http://www.w3schools.com/jsref/met_win_settimeout.asp回调的.您可以在执行之间使用 0 米尔的间隙。 0毫秒只是对浏览器的建议,但浏览器将利用后续回调之间的间隙来清除其事件队列。超时通常是指在浏览器环境中运行的脚本应该执行多长时间,以防止页面“挂起”。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)