百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>html5教程> H5+WebWorkers多线程开发运用详解
分享文章到:

H5+WebWorkers多线程开发运用详解

发布时间:09/01 来源:未知 浏览: 关键词:
这次给大家带来H5+WebWorkers多线程开发使用详解,H5+WebWorkers多线程开发的留意事项是什么,下面就是实战案例,一起来看一下。

我们都知道,阅读器施行js代码是单线程的,当页面足步施行时,页面是没方法响应别的的,直到足步的完毕,而这里介绍的WebWorkers就可以改动这一切。

WebWorkers是运转在后台的js代码,独立于其他足本,不会影响页面的机能。我们可以连续做任何情愿做的事情:点击、拔取内容等等,而此时WebWorkers在后台运转。

所有主流阅读器均支撑 web worker,除了 Internet Explorer。

第一步:生成worker。

调取Worker()结构函数,指定一个要在worker线程内运转的足本的URI,例子是当前页面指定worker线程施行的足步为script-worker.js。

var myWorker = new Worker("script-worker.js");

在script-worker.js里面我们可以施行额外的代码,这些代码的施行不会影响页面去干别的你想干的事情,这听起来很棒。

第二步:传递数据。

页面可以和worker交互传递数据,这样worker在不影响页面干成心义的事情的状况下可以默默去运算,好了告诉一下页面,使用这些数据。

//[主页面代码]
myWorker.postMessage("data-from-mainpage");
//[worker代码]
onmessage = function (oEvent) {
    console.log("主页面发送过来的数据是:"+oEvent.data));    
};

上面是【主页面发送数据给worker足本】的状况,是的,你看见了非常亲切的postMessage,好吧,我喜爱这个东西。

 //[主页面代码]
 myWorker.onmessage = function (oEvent) {
     console.log("worker足本发送过来的数据是:"+oEvent.data)); 
 }; 
//[worker代码]
postMessage("data-from-mainpage");

上面是【worker足本发送数据给主页面】的状况,照旧很简便,不外这些只是API,关键在于奇妙的使用才是有益的。

此外,大概worker施行会出错,主页面通过:

myWorker.onerror=function(oEvent){};

可以监听worker发生错误。

第三步:重要几点。

worker线程能够在不干扰UI的状况下施行任务,所施行的JavaScript代码完全在另一个作用域,与当前网页中的代码不同享作用域。

Worker的全局作用域中供给了importScripts()办法,接收一个或多个指向JavaScript文件的URL,加载历程都是异步停止。

importScripts()只会在您供给绝对URI的状况下生效,施行历程也是异步的。

当我们创立WebWorkers对象后,它会连续监听新闻(即便在外部足本完成之后)直到其被终止为止,使用myWorker.terminate()办法可以终止WebWorkers,并开释阅读器/运算机资源。

第四步:重要限制。

1.没法拜访DOM节点,没法拜访全局变量或是全局函数,法调取alert()或者confirm之类的函数和没法拜访window、document之类的阅读器全局变量;

2.不外Web Worker中的Javascript仍然可以使用setTimeout(),setInterval()之类的函数,也可以使用XMLHttpRequest对象来做Ajax通讯。

信赖看了本案牍例你已经把握了办法,更多出色请关注百分百源码网其它相关文章!

引荐阅读:

webpack打包紧缩js与css步骤详解

jquery fullpage插件增加头部与尾部版权相关

以上就是H5+WebWorkers多线程开发使用详解的具体内容,更多请关注百分百源码网其它相关文章!

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有150人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板