Web Workers 为 Web 前端网页上的脚本提供了一种能在后台进程中运行的方法。一旦它被建立,Web Workers 就能够经过 postMessage 向任务池发送任务请求,执行完以后再经过 postMessage 返回消息给建立者指定的事件处理程序 ( 经过 onmessage 进行捕获 )。javascript
例子:html
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <title>Test Web worker</title> <script type="text/JavaScript"> function init(){ var worker = new Worker('js/compute.js'); worker.onmessage= function (event) { document.getElementById("result").innerHTML += event.data+"<br/>"; }; } </script> </head> <body onload="init()"> <div id="result"></div> </body> </html>
compute.js:前端
var i=0; function timedCount(){ for(var j=0,sum=0;j<10000;j++) { for(var i=0;i<1000;i++){ sum+=i; } } postMessage(sum); } postMessage("Before computing,"+new Date()); timedCount(); postMessage("After computing,"+new Date());
在web worker的source code里设置断点,选取Puase on start的checkbox: java
以后就能像debug 普通javascript code同样debug worker代码: web
要获取更多Jerry的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:post