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,但是有異步回調,則等待回調執行。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM