[英]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.