用于公开异步代码的 Awaitable 类型,以及专门为 Unity 量身定制的异步返回类型。
private async Awaitable DoSomethingAsync() { await LoadSceneAsync("SomeScene"); await SomeApiReturningATask(); await Awaitable.NextFrameAsync(); // <...> }
| IsCompleted | 指示 Awaitable 是否已运行完成。 |
| 取消 | 取消 Awaitable。如果正在等待 Awaitable,等待者将获得 System.OperationCanceledException。 |
| BackgroundThreadAsync | 在 ThreadPool 后台线程上恢复执行。如果调用者已在后台线程上,它将立即完成。 |
| EndOfFrameAsync | 在当前帧的所有 Unity 子系统运行完毕后恢复执行的 Awaitable。 |
| FixedUpdateAsync | 在下一个固定更新帧上恢复执行的 Awaitable(参见 Time.fixedDeltaTime)。 |
| FromAsyncOperation | 从现有 AsyncOperation 对象创建 Awaitable。 |
| MainThreadAsync | 在 Unity 主线程上恢复执行。如果调用者已在主线程上,它将立即完成。 |
| NextFrameAsync | 在下一帧上恢复执行的 Awaitable。 |
| WaitForSecondsAsync | 在指定秒数后恢复执行的 Awaitable。 |