侧边栏壁纸
博主头像
johnliu博主等级

远离世上乱纷纷,清静凡心不染尘。 闲看山前腾紫气,静观天外涌祥云。 花间酌酒邀明月,柳下吟诗论古今。 坐卧随心天地近,悠然细品玉堂春。

  • 累计撰写 35 篇文章
  • 累计创建 10 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

HTML5学习之WebWork多线程处理

冰灬夏
2022-01-12 / 0 评论 / 0 点赞 / 36 阅读 / 1502 字
温馨提示:
本文最后更新于 2024-05-27,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

多线程技术在服务端技术中已经发展的很成熟了,而在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>

onmessage = function (event) {
    //从1加到num
    var num = event.data;
    var result = 0;
    for (var i = 1; i <= num; i++) {
        result += i;
    }
    postMessage(result);
}

0

评论区