关于cc.isVaild的疑问

  • Creator 版本: 2.1.3

最近再切换场景加载预制的时候会下面的报错导致卡死。
JS: [ERROR]: Stencil manager does not support level bigger than 8 in this device.
ERROR: TypeError: null is not an object (evaluating ‘comp._assembler’), location: src/cocos2d-jsb.js:32652:13
STACK:
_updateRenderData@src/cocos2d-jsb.js:32652:13
_children@src/cocos2d-jsb.js:32681:37
_children@src/cocos2d-jsb.js:32681:37
_children@src/cocos2d-jsb.js:32681:37
_children@src/cocos2d-jsb.js:32681:37
_children@src/cocos2d-jsb.js:32681:37
_render@src/cocos2d-jsb.js:32659:25
_updateRenderData@src/cocos2d-jsb.js:32654:25
_children@src/cocos2d-jsb.js:32681:37
_children@src/cocos2d-jsb.js:32681:37
_children@src/cocos2d-jsb.js:32681:37
_children@src/cocos2d-jsb.js:32681:37
visit@src/cocos2d-jsb.js:32773:46
render@src/cocos2d-jsb.js:32578:29
mainLoop@src/cocos2d-jsb.js:7499:28
callback@src/cocos2d-jsb.js:7733:32
tick@jsb-adapter/jsb-builtin.js:2001:37

查找论坛猜测应该是在异步的时候节点不存在,获取不到属性导致的,就想着去用cc.isValid个非空判断。但是用网页断点源码调试发现进的是下面的判断。
image
很奇怪,不是应该进上面这个判断么?

typeof null 也是 ‘object’

我也不懂,怀疑是你断点的地方和报错对不上,或者sourcemap行号对不上

我是直接H5逐步断点下去的~

挖坟了,我也发现这个问题,不过是在所在运行环境非常卡的时候(比较差的手机性能 或者 比较差的网页端服务器) 这种情况下加载动态资源都已经肉眼可见的慢的时候,对界面快速操作很容易会报这个错