在HTML5里面,提供了一个振奋人心的功能,在HTML终于原生支持多线程了,我们的用户再也不用看到那个提示脚本运行时间过长的提示框了,具体的实现也很简单,只需要在javascript里面创建一个worker,就可以启动一个线程,然后通过message的方式进行传值,基本代码如下
- //创建一个线程
- var worker = new Worker("js/work.js");
- //发起一个消息给线程
- worker.postMessage("test");
然后在work.js里面可以接收到这个信息
- onmessage = function(event) {
- var data = event.data;//接收到的信息
- }
我们还可以把信息处理完之后传回去
- onmessage = function(event) {
- var data = event.data;
- //dosomething
- postMessage("传回去的数据");
- }
然后在接收传回来的数据:
- worker.onmessage = function(event) {
- var data = event.data;//传回来的数据
- }
最后还有一个关闭线程方法,在work.js里面
- onmessage = function(event) {
- close();//关闭线程
- }