如何debug web worker

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

相关文章
相关标签/搜索