Spec-Zone.ru › Scala 3.2

Объект 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.

Суперобоъекты
класс Object
тракт Matchable
класс Any
Тип объекта
FutureConverters.type

Конкретные методы

Исходный код
def asJava[T](f: Future[T]): CompletionStage[T]

Возвращает java.util.concurrent.CompletionStage, который будет завершен с тем же значением или исключением, что и данный Scala scala.concurrent.Future при его завершении. Поскольку Future является только для чтения, этот CompletionStage не поддерживает метод toCompletableFuture.

Семантика Scala Future требует, чтобы все обратные вызовы вызывались асинхронно по умолчанию, поэтому возвращаемый CompletionStage перенаправляет все вызовы синхронных преобразований на их асинхронные аналоги, т.е. thenRun внутренне вызовет thenRunAsync.

Параметры значения
f

Scala Future, который может в конечном итоге обеспечить завершение для возвращаемого CompletionStage

Возвращает

CompletionStage, который выполняет все обратные вызовы асинхронно и не поддерживает интерфейс CompletableFuture

Исходный код
def asScala[T](cs: CompletionStage[T]): Future[T]

Возвращает Scala scala.concurrent.Future, который будет завершен с тем же значением или исключением, что и указанный java.util.concurrent.CompletionStage при его завершении. Преобразования возвращаемого Future выполняются асинхронно в соответствии с ExecutionContext, который передается методам-комбинаторам.

Параметры значения
cs

CompletionStage, который может в конечном итоге обеспечить завершение для возвращаемого Scala Future

Возвращает

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API