Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Tại sao HTML5 Web Workers hữu ích?

JavaScript được thiết kế chạy trong môi trường single-threaded, nghĩa là nhiều script không thể chạy cùng lúc. Xét trường hợp cần xử lý UI events, truy vấn và xử lý lượng lớn dữ liệu API, và thao tác DOM.

JavaScript sẽ làm treo trình duyệt khi CPU sử dụng cao. Ví dụ đơn giản JavaScript chạy vòng lặp lớn:

<!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>

Khi bấm "Big Loop", giao diện bị đóng băng:

Tại sao HTML5 Web Workers hữu ích?

Tình huống trên có thể xử lý bằng Web Workers – thực hiện các tác vụ tính toán nặng trên luồng riêng mà không làm gián đoạn giao diện người dùng.