多線程技術在服務端技術中已經發展的很成熟了,而在Web端的應用中卻一直是雞肋
在新的標准中,提供的新的WebWork API,讓前端的異步工作變得異常簡單。
使用:創建一個Worker對象,指向一個js文件,然后通過Worker對象往js文件發送消息,js文件內部的處理邏輯,處理完畢后,再發送消息回到當前頁面,純異步方式,不影響當前主頁面渲染。
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title> <script type="text/javascript"> //創建線程 work對象 var work = new Worker("work.js"); //work文件中不要存在跟ui代碼 //發送消息 work.postMessage("100"); // 監聽消息 work.onmessage = function(event) { alert(event.data); }; </script> </head> <body> </body> </html>
work.js
onmessage = function (event) { //從1加到num var num = event.data; var result = 0; for (var i = 1; i <= num; i++) { result += i; } postMessage(result); }