为什么 HTML5 Web Workers 很有用?
javascriptweb developmentfront end scripts
JavaScript 被设计为在单线程环境中运行,这意味着多个脚本不能同时运行。考虑一下您需要处理 UI 事件、查询和处理大量 API 数据以及操作 DOM 的情况。
当 CPU 利用率很高时,JavaScript 会使浏览器挂起。让我们举一个简单的例子,其中 Javascript 经历了一个大循环:
<!DOCTYPE HTML> <html> <head> <title>Big for loop</title> <script> function bigLoop(){ for (var i = 0; i <= 10000; i += 1){ var j = i; } alert("Completed " + j + "iterations" ); } function sayHello(){ alert("Hello sir...." ); } </script> </head> <body> <input type = "button" onclick = "bigLoop();" value = "Big Loop" /> <input type = "button" onclick = "sayHello();" value = "Say Hello" /> </body> </html>
单击"Big Loop"按钮后,将显示以下内容:
可以使用 Web Workers 来处理上述情况,Web Workers 将在不中断用户界面的情况下完成所有计算量大的任务,并且通常在单独的线程上运行。