Awaitable
класс в UnityEngine
Выполнено в:UnityEngine.CoreModule
Описание
Пользовательский тип Unity, который может быть ожидаем и использоваться как асинхронный тип возврата в модели асинхронного программирования C#.
Awaitable обычно предпочтительнее .NET Task для асинхронного кода в Unity. Однако важно понимать разницу между ними. В частности, экземпляры класса `Awaitable` берутся из пула, а потому небезопасно await несколько раз в одном и том же методе.
Более подробную информацию см. Асинхронное программирование с помощью класса Awaitable в Руководстве.
private async Awaitable DoSomethingAsync() { await LoadSceneAsync("SomeScene"); await SomeApiReturningATask(); await Awaitable.NextFrameAsync(); // <...> }
Свойства
| Свойство | Описание |
|---|---|
| IsCompleted | Указывает, завершился ли процесс waitable. |
Открытые методы
| Метод | Описание |
|---|---|
| Cancel | Отменяет ожидаемое. Если ожидаемое ожидаемо, ожидающий получает System.OperationCanceledException. |
Статические методы
| Метод | Описание |
|---|---|
| BackgroundThreadAsync | Возобновляет выполнение на фоновом потоке ThreadPool. Завершается немедленно при вызове из фонового потока. |
| EndOfFrameAsync | Возобновляет выполнение после запуска всех подсистем Unity для текущего кадра. |
| FixedUpdateAsync | Возобновляет выполнение на следующем кадре обновления с исправлением. |
| FromAsyncOperation | Создает Awaitable из существующего объекта AsyncOperation. |
| MainThreadAsync | Возобновляет выполнение на главном потоке Unity. Завершается немедленно при вызове из главного потока. |
| NextFrameAsync | Возобновляет выполнение на следующем кадре. |
| WaitForSecondsAsync | Возобновляет выполнение по истечении указанного количества секунд. |