Объект scala.jdk.javaapi.FutureConverters
объект FutureConverters
Этот объект содержит методы, которые преобразуют между Scala scala.concurrent.Future и Java java.util.concurrent.CompletionStage.
Явные методы преобразования, определённые здесь, предназначены для использования в Java-коде. Для Scala-кода рекомендуется использовать методы расширения, определённые в scala.jdk.FutureConverters.
Обратите внимание, что мост реализован на стороне только для чтения асинхронных обработчиков, а именно scala.concurrent.Future (вместо scala.concurrent.Promise) и java.util.concurrent.CompletionStage (вместо java.util.concurrent.CompletableFuture). Это сделано намеренно, так как семантика моста для обработчиков записи может привести к проблемам гонок; если оба конца (CompletableFuture и Promise) завершаются независимо в одно и то же время, они могут содержать разные значения впоследствии. По этой причине toCompletableFuture не поддерживается для созданных CompletionStage.
| Надтипы | |
|---|---|
| Тип «self» |
Конкретные методы
Исходный код
Возвращает java.util.concurrent.CompletionStage, который будет завершён тем же значением или исключением, что и заданный Scala scala.concurrent.Future, когда тот завершится. Поскольку Future представляет собой только для чтения, этот CompletionStage не поддерживает метод toCompletableFuture.
Семантика Scala Future требует, чтобы все колбэки вызывались асинхронно по умолчанию, поэтому возвращаемый CompletionStage перенаправляет все вызовы синхронных преобразований на их асинхронные аналоги, т. е. thenRun внутренне вызовет thenRunAsync.
| Параметры значений |
|
|---|---|
| Возвращает | CompletionStage, который выполняет все колбэки асинхронно и не поддерживает интерфейс CompletableFuture |
Исходный код
Возвращает Scala scala.concurrent.Future, который будет завершён тем же значением или исключением, что и заданный java.util.concurrent.CompletionStage, когда тот завершится. Преобразования возвращаемого Future выполняются асинхронно, как указано в ExecutionContext, который передаётся методам комбинаторов.
| Параметры значений |
|
|---|---|
| Возвращает | Scala Future, представляющий завершение CompletionStage |
© 2002-2022 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://scala-lang.org/api/3.1.1/scala/jdk/javaapi/FutureConverters$.html