前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >WebWorker的importScripts方法

WebWorker的importScripts方法

作者头像
欲休
发布2018-03-15 13:36:14
1.9K0
发布2018-03-15 13:36:14
举报
文章被收录于专栏:前端杂货铺前端杂货铺

简述

  在《JavaScript高级程序设计(第三版)》中,提到WebWorker的importScripts方法是异步执行的,然而在

另一本书《Javascript权威指南》中,却说importScripts是一个同步方法,两者矛盾,故私底下测试一番,发现

该方法确实是同步执行,待所有js问价解析执行完毕再执行后续代码。

  另外,importScripts方法是可以嵌套执行的。

  如:

  index.html:

代码语言:javascript
复制
    <script>
        var w = new Worker("worker1.js");
        w.onmessage = function(e){
            console.log(e.data)
        }
        w.postMessage("from index ...")
    </script>

  work1.js:

代码语言:javascript
复制
  importScripts("t1.js");
  console.log("worker1.js");
  onmessage = function(e){
      console.log(e.data)
  }

  t1.js:

代码语言:javascript
复制
    importScripts("t2.js")
    console.log("this is the t1.js ...")
    

  t2.js:

代码语言:javascript
复制
    console.log("this is the t2.js ...")

  返回结果:

代码语言:javascript
复制
    this is the t2.js ... 
    this is the t1.js ...
    worker1.js
    from index ...  

其他

  worker线程,同步运行代码,当worker线程并没有绑定onmessage事件处理程序并且没有其他异步回调或者定时器外,代码执行完毕就销毁该线程。如果线程没有onmessage,但是有异步回调,则等待回调执行。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简述
  • 其他
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档