js的setTimeout执行后会自动销毁么?
定时器会自动销毁,但是仅仅是定时器
“仅仅是定时器”啥意思?
还有cc.Component的schedule次数到了会自动销毁么?
setTimeout计时结束了就会销毁,但有个问题,假如在SomeView里使用setTimeout,假设计时器还没到期,SomeView先被销毁了,然后setTimeout到期后的回调使用了SomeView相关的节点(此时SomeView里所有节点都已被销毁),就会报错,除非SomeView销毁时,进行setTimeout的清理。用了组件的schedule就不一样,当组件被销毁时,schedule会被自动销毁,不用手动去清理计时器
用了 setTimeOut 就要进行节点的判断了,是否已经被销毁了 isValid(node)。
如果还存在再进行操作,否则 return
是的,这样很麻烦,假设在这回调里用了十几个不一样的节点,这几十个都要加判断
你可以可以用cocos的schedule啊
let timer = setTimeout(()=>{
clearTimeout(timer);
//do something
},5000);
这里不写clearTimeout(timer),这个timer系统会自动clear掉吧?
我一直在用啊 
是的,setTimeout是一次性的计时器。
OK,谢啦