Объект FutureConverters.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.
| Суперобоъекты | |
|---|---|
| Тип объекта |
Конкретные методы
Исходный код
Возвращает 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.2.0/scala/jdk/javaapi/FutureConverters$.html