概要
using Cysharp.Threading.Tasks; using UnityEngine; public class Example : MonoBehaviour { private async UniTask Start() { var task = UniTask.NextFrame(); await task; await task; } }
1 つの UniTask
のインスタンスを 2 回以上 await
すると
InvalidOperationException: Token version is not matched, can not await twice or get Status after await.
上記の例外が発生する
using Cysharp.Threading.Tasks; using UnityEngine; public class Example : MonoBehaviour { private async UniTask Start() { var task = UniTask.NextFrame().Preserve(); await task; await task; } }
2 回以上 await
したい場合は Preserve
を呼んでおく