我知道有很多类似的问题,但我正在寻找有关特定情况的反馈。
假设我有一个包含以下代码的页面:
<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
之间的某个时间被调用,或者它会一直等到他们都被处决了?
答案 0 :(得分:0)
你无法确定asynch何时完成。最有可能是在obj.render()之后因为启动异步中心过程需要一段时间。 同时处理obj.render的代码。 但依赖于这样的代码流似乎是棘手的业务。 让我们假设假设异步代码是因为缓存而立即加载的 - 然后它可能会在代码的其他部分运行之前或运行时运行。