多線程技術在服務端技術中已經發展的很成熟了,而在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);
}

