Spec-Zone.ru › Scala 3.1

Трейт scala.concurrent.Promise

Объект-компаньон • Исходный код

Трейт Promise[T]

Promise — это объект, который может быть завершен значением или ошибкой.

Обещание всегда должно быть в конечном итоге завершено, будь то успехом или ошибкой, чтобы избежать непреднамеренного удержания ресурсов для любых обратных вызовов или преобразований связанных с ним будущих значений.

Суперобъекты
Класс Object
Трейт Matchable
Класс Any

Абстрактные методы

Исходный код
def future: Future[T]

Будущее, содержащее значение этого обещания.

Исходный код
def isCompleted: Boolean

Возвращает, завершено ли обещание значением или исключением.

Примечание: использование этого метода может привести к недетерминированным конкуретным программам.

Возвращает

true если обещание уже завершено, false в противном случае

Исходный код
def tryComplete(result: Try[T]): Boolean

Попытка завершить обещание значением или исключением.

Примечание: использование этого метода может привести к недетерминированным конкуретным программам.

Возвращает

Если обещание уже завершено, возвращает false, в противном случае true.

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

Исходный код
def complete(result: Try[T]): Promise[T]

Завершает обещание исключением или значением.

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

Либо значение, либо исключение, с которым должно быть завершено обещание. Если обещание уже выполнено, не выполнено или истекло время ожидания, вызов этого метода приведет к исключению IllegalStateException.

Исходный код
def completeWith(other: Future[T]): Promise[T]

Завершает это обещание указанным будущим значением, как только это будущее будет завершено.

Возвращает

Это обещание

Исходный код
def failure(cause: Throwable): Promise[T]

Завершает обещание исключением.

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

Исключение, с которым должно быть завершено обещание. Если исключение, используемое для завершения этого обещания, является ошибкой, управляющим исключением или прерванным исключением, оно будет обернуто в качестве причины в ExecutionException, что приведет к завершению обещания с ошибкой. Если обещание уже выполнено, не выполнено или истекло время ожидания, вызов этого метода приведет к исключению IllegalStateException.

Исходный код
def success(value: T): Promise[T]

Завершает обещание значением.

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

Значение, с которым должно быть завершено обещание. Если обещание уже выполнено, не выполнено или истекло время ожидания, вызов этого метода приведет к исключению IllegalStateException.

Исходный код
def tryFailure(cause: Throwable): Boolean

Попытка завершить обещание исключением.

Примечание: использование этого метода может привести к недетерминированным конкуретным программам.

Возвращает

Если обещание уже завершено, возвращает false, в противном случае true.

Исходный код
def trySuccess(value: T): Boolean

Попытка завершить обещание значением.

Примечание: использование этого метода может привести к недетерминированным конкуретным программам.

Возвращает

Если обещание уже завершено, возвращает false, в противном случае true.

© 2002-2022 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://scala-lang.org/api/3.1.1/scala/concurrent/Promise.html

Spec-Zone.ru

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