ET版本:8.0
Unity版本:2021.3
Net版
本:
在8。0中使用MainThreadScheduler调度器时,点击页面触发移除一个fiber1时,此时的执行上下文为最后一次LateUpdate中的fbier1,然后创建一个fiber2,执行到FiberManager的Create时,创建fiber2时的await tcs.Task,会由于TaskCompletionSource类捕捉当前的执行上下文为fiber1的,当fiber2的SetResult执行后,由于fiber1已经移除了,post到fiber1中的ThreadSynchronizationContext不会执行了,所以创建fiber2时await tcs.Task,后续逻辑不会执行了。简单的处理方法就是创建fiber2时,等待下一帧再去执行。
所以想请教下,还有更加优雅的方式吗?