【17】web workers的应用

2017-10-29  本文已影响21人  业余玩家

html5的web workers中提供了在浏览器后台执行js的api,通过它我们可以将一些复杂的逻辑处理放在后台,而不影响主页面的加载,但是由于web worker位于外部文件中,导致它无法访问window,document,parent这些js对象。

在web worker中使用postmessage和onmessage进行通信,比如你可以在脚本中实现计算过程,然后将结果返回到主页面中。

//webworker.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>webwork</title>

    <script type="text/javascript">
        var worker=new Worker("webwork.js");
        worker.postMessage("hello world");
        worker.onmessage=function(event) {
            console.log(event.data);
        }
    </script>
</head>
<body>
    
</body>
</html>
//webwork.js
onmessage=function(event) {
    var d=event.data;//获取发送来的数据
    postMessage(d);//将获取到的数据返回到主线程
}
上一篇 下一篇

猜你喜欢

热点阅读