版本3.7.3 .在线上发现不少类似的报错。
TypeError: Cannot read properties of null (reading dynamic ) at i.initialize (https://usr/game.js:30:790070) at e.onLoad
发现是Mesh 类里面的_struct 在initialize为空
export class Mesh extends Asset {
...
@serializable
private _struct: Mesh.IStruct = {
vertexBundles: [],
primitives: [],
};
...
但这个struct 初始化已经赋值了。还会为空,就判断是不是反序列化的问题。
另外类似的为空的地方还有AnimatinClip 的 _events,也可能会是空
TypeError: Cannot read properties of null (reading length ) at i.containsAnyEvent (https://usr/game.js:30:1303066) at i.initialize
export class AnimationClip extends Asset {
...
@serializable
private _events: AnimationClip.IEvent[] = [];
...
看看有没有什么办法,来避免这种情况发生出现报错,每个做防御代码就太多了。或者在加载的时候给个failed。