Объект Await.Await
объект Await
Await используется для обеспечения правильной обработки блокировок для Awaitable экземпляров.
Хотя иногда полезно, например, для тестирования, рекомендуется избегать использования Await всякий раз, когда это возможно — предпочитая комбинаторы и/или обратные вызовы. Методы Await result и ready заблокируют выполнение потока вызова, пока не вернутся, что приведет к ухудшению производительности и, возможно, проблемам с тупиком.
| Суперобъекты | |
|---|---|
| Тип объекта |
Конкретные методы
Исходный код
Ожидание состояния "завершено" Awaitable.
Хотя этот метод блокирующий, внутреннее использование blocking гарантирует, что подлежащему ExecutionContext предоставляется возможность правильно управлять блокировкой.
ПРЕДУПРЕЖДЕНИЕ: Крайне не рекомендуется использовать длительные таймауты, так как прогресс вызывающего потока будет приостановлен — заблокирован — до тех пор, пока Awaitable не станет готов или не истечёт таймаут.
| Параметры значений |
|
|---|---|
| Возвращаемое значение |
|
| Исключения |
|
Исходный код
Ожидание и возврат результата (типа T) Awaitable.
Хотя этот метод блокирующий, внутреннее использование blocking гарантирует, что подлежащему ExecutionContext предоставляется возможность правильно управлять блокировкой.
ПРЕДУПРЕЖДЕНИЕ: Крайне не рекомендуется использовать длительные таймауты, так как прогресс вызывающего потока будет приостановлен — заблокирован — до тех пор, пока у Awaitable не будет результата или не истечёт таймаут.
| Параметры значений |
|
|---|---|
| Возвращаемое значение | значение результата, если |
| Исключения |
|
© 2002-2022 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://scala-lang.org/api/3.2.0/scala/concurrent/Await$.html