Computer >> Máy Tính >  >> Lập trình >> Javascript

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


JavaScript được thiết kế để chạy trong môi trường đơn luồng, có nghĩa là nhiều tập lệnh không thể chạy cùng một lúc. Hãy xem xét một tình huống mà bạn cần xử lý các sự kiện giao diện người dùng, truy vấn và xử lý một lượng lớn dữ liệu API cũng như thao tác với DOM.

JavaScript sẽ làm treo trình duyệt của bạn trong tình huống sử dụng CPU cao. Hãy để chúng tôi lấy một ví dụ đơn giản trong đó Javascript đi qua một 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 nhấp vào nút "Vòng lặp lớn", thông tin sau sẽ hiển thị:

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

Tình huống được giải thích ở trên có thể được xử lý bằng cách sử dụng Web worker, người sẽ thực hiện tất cả các tác vụ tính toán tốn kém mà không làm gián đoạn giao diện người dùng và thường chạy trên các chuỗi riêng biệt.