[英]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
到某個時候的執行之間被稱為funcA
, funcB
,並funcC
還是會一直等到他們都執行?
您無法真正分辨出何時完成。 很有可能在obj.render()之后,因為它需要一段時間才能啟動異步過程。 同時處理obj.render的代碼。 但是依靠這樣的代碼流似乎是一件棘手的事情。 假設我們假設異步代碼是由於被緩存而立即加載的,那么它可能在代碼其他部分運行之前或同時運行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.