WebWorker的importScripts方法

简述

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

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

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

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

  如:

  index.html:

    <script>
        var w = new Worker("worker1.js");
        w.onmessage = function(e){
            console.log(e.data)
        }
        w.postMessage("from index ...")
    </script>

  work1.js:

  importScripts("t1.js");
  console.log("worker1.js");
  onmessage = function(e){
      console.log(e.data)
  }

  t1.js:

    importScripts("t2.js")
    console.log("this is the t1.js ...")
    

  t2.js:

    console.log("this is the t2.js ...")

 

  返回结果:

  

    this is the t2.js ... 
    this is the t1.js ...
    worker1.js
    from index ...  

其他

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

转载于:https://www.cnblogs.com/accordion/p/4207749.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值