关于脚本声明周期回调的的问题,求助!

最近发现一个问题,我在nodeA上绑定了一个脚本cA,然后cA上引用了节点b,b上绑定了一个脚本cB,这个时候,我在cA脚本的onload方法中通过p.getComponent(‘cB’)获取到节点b上的脚本cB,然后,在cB上有2个方法f1和f2,f1是在cB的onload方法中调用的。我在创建了节点p之后,获取到了脚本cB,这个时候,我要调用f2方法,然后我发现出现了下面的问题,f2方法先于cB.onload执行,也就先于f1执行。
那么问题来了,按照官方的说法,在脚本声明周期中,onload是最先执行的。但是,在这里,并没有最先执行,这是怎么回事???

实例如下:
cA脚本如下:
onLoad() {
let cB = this.p.getComponent(‘cB’);
cB.f2();
},

cB脚本如下:
onLoad() {
this.f1();
},
f1() {
console.log(‘f1’);
},
f2() {
console.log(‘f2’);
},

打印结果为:
f2
f1

这是为什么?求官方大大帮忙!!!

@panda @jare

哦,后来自己仔细研究了一下,找到了问题所在:
在A上后一个子节点B,在执行的时候,会先执行A的onload方法,再执行B的onload方法,那么,就会出现上面的问题了,我在A上调用了B的f2方法,那么,就相当于把B的f2方法放在了B的onload之前执行,所以,就先执行了f2,后执行的f1,这是脚本的生命周期和执行顺序问题。打扰引擎大大了,实在抱歉!!!