簡體   English   中英

異步執行的Javascript順序

[英]Javascript order of asynchronous execution

我知道有很多類似的問題,但是我正在尋找有關特定情況的反饋。

假設我有一個包含以下代碼的頁面:

<script>
  var myCallback = function() {
      // stuff...
  }
</script>

<script async src="https://example.com/file.js?callback=myCallback"></script>

<script>
  var obj = {
    render: function() {
      this.funcA();
      this.funcB();
      this.funcC();
    },

    funcA: function() {
      // stuff
    },

    funcB: function() {
      // stuff
    },

    funcC: function() {
      // stuff
    }
  }

  obj.render();
</script>

外部腳本被設置為在加載后調用“ myCallback”。

難道myCallback可以調用,而obj.render()正在執行,還是會一直等到render和它的所有子功能被稱為?

換句話說,有可能是myCallback到某個時候的執行之間被稱為funcAfuncB ,並funcC還是會一直等到他們都執行?

您無法真正分辨出何時完成。 很有可能在obj.render()之后,因為它需要一段時間才能啟動異步過程。 同時處理obj.render的代碼。 但是依靠這樣的代碼流似乎是一件棘手的事情。 假設我們假設異步代碼是由於被緩存而立即加載的,那么它可能在代碼其他部分運行之前或同時運行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM