cocos异步加载问题
今天打包运行发现加载预制体没有出来,但是在浏览器上也没有报错,于是在真机上日志发现报错
Cannot set property ‘_val’ of undefined TypeError: Cannot set property
‘_val’ of undefined;
当出现「Cannot set property ‘_val’ of undefined」并导致资源加载失败时,通常是因为:
1.标题资源引用丢失(最常见)
2.组件未正确挂载
3.异步加载未完成就进行访问
4.场景节点结构发生变化
经过我多次实验和检查,最终确定错误在异步加载未完成就进行访问上!但是我代码只会在加载回调完成中才会进行访问,后来经过一番折腾终于找到问题!原因是因为在异步加载完成函数中,又去进行了异步加载操作,这就导致了错误!原因是因为:
在异步加载的 onComplete 回调中,如果嵌套了其他异步操作,可能会出现竞争条件,导致访问未完成的资源。出现错误.
找到问题就很好解决了!