有类似 Unity Coroutine 是基于 Node 生命周期的用法吗?

搜了一下都是说异步直接调用 async/await,但 async/await 并不绑定 Node 生命周期,导致 Node 已经不见 Function 可能还在执行

Unity Coroutine 实际上是 update 后调用,因此 GameObject 没了就不会继续执行

那么 Creator 有没有与Node生命周期绑定的用法?可以让异步函数在 Node 消失后就不会继续执行

还是只能 update 中手刻一个这功能?

schedule欢迎你

1赞

做个封装呗,给回调包一层,做个检查,检查当前node是不是销毁了,销毁就不执行。

1赞

onEnable里on事件 对应的就应该在onDisable里off事件
schedule和unschedule同理最好也要成对 不过好像schedule在目标销毁后会自动取消

setTimeout clearTimeout 和 setInterval clearInterval在组件脚本里也是同理

一般在回调里面判断一下
if (!this.node || !this.node.isvalid) return;

1赞

不过一直进回调一直return还是不太好吧 最好还是把回调给注销了

看标题, 题主说的是异步的东西, 不是 schedule 或者 update, 所以不需要注销

https://store.cocos.com/app/detail/5705
这满足你不?

1赞