web worker使用

使用postMessage()方法传递信息。来自Worker的数据保存在event.data中。通过message和error事件与页面通信。

<script>
    var data = [4,2,3,5];
    alert("start  "+data);
    var worker = new Worker("stufftodo.js");
    worker.postMessage(data);

    worker.onmessage = function(event){
        var data = event.data;
        alert("end  "+data);
    };
    //filename,lineno,message分别对应发生错误的文件名、代码行号和完整的错误信息
    worker.onerror = function(event){
        console.log("ERROR: "+event.filename + " ("+event.lineno+"): "+
        event.message);
    };
</script>

stufftodo.js文件内容如下:

//self引用worker对象
self.onmessage = function(event){
    var data = event.data;
    data.sort(function(a,b){
        return a - b ;
    });
    self.postMessage(data);
}
原文地址:https://www.cnblogs.com/scnuwangjie/p/5041106.html