Spec-Zone.ru › Scala 2.13 Library

Объект scala.concurrent.Future.never

объект never extends Future[Nothing]

Future, который никогда не завершается.

Источник
Future.scala
Линейные супертипы
Future[Nothing], Awaitable[Nothing], AnyRef, Any

Члены-значения

final def !=(arg0: Any): Boolean

Проверка двух объектов на неравенство.

returns

true если !(this == that), иначе false.

Definition Classes
AnyRef → Any

final def ##(): Int

Эквивалентно x.hashCode за исключением упакованных числовых типов и null. Для чисел возвращает хэш-значение, согласованное с равенством значений: если два экземпляра типа значения сравниваются как true, то ## для каждого из них вернёт то же хэш-значение. Для null возвращает хэш-код, где null.hashCode выбрасывает NullPointerException.

returns

хэш-значение, согласованное с ==

Definition Classes
AnyRef → Any

final def ==(arg0: Any): Boolean

Выражение x == that эквивалентно if (x eq null) that eq null else x.equals(that).

returns

true если объект получателя эквивалентен аргументу; false в противном случае.

Definition Classes
AnyRef → Any

final def andThen[U](pf: PartialFunction[Try[Nothing], U])(implicit executor: ExecutionContext): Future[Nothing]

Применяет функцию с побочным эффектом к результату этого будущего и возвращает новое будущее с результатом этого будущего.

Этот метод позволяет обеспечить выполнение обратных вызовов в заданном порядке.

Обратите внимание, что если один из цепочечных andThen обратных вызовов вызывает исключение, это исключение не передаётся последующим andThen обратным вызовам. Вместо этого последующим andThen обратным вызовам передаётся исходное значение этого будущего.

Следующий пример выводит 5:

val f = Future { 5 }
f andThen {
  case r => throw new RuntimeException("runtime exception")
} andThen {
  case Failure(t) => println(t)
  case Success(v) => println(v)
}

Поскольку этот метод выполняется асинхронно и не возвращает значение, любые некритические исключения будут сообщены в ExecutionContext.

U

используется только для принятия любого типа возвращаемого значения заданной PartialFunction

pf

PartialFunction которая будет условно применена к результату этого Future

returns

Future которое будет завершено с таким же результатом, как и это Future, но после выполнения PartialFunction.

Definition Classes
never → Future

final def asInstanceOf[T0]: T0

Преобразование объекта-получателя к типу T0.

Обратите внимание, что успех преобразования во время выполнения зависит от семантики стирания Scala. Следовательно, выражение 1.asInstanceOf[String] выбросит ClassCastException во время выполнения, в то время как выражение List(1).asInstanceOf[List[String]] не выбросит. В последнем примере, из-за стирания типа во время компиляции невозможно проверить, соответствуют ли содержимое списка требуемому типу.

returns

объект получателя.

Definition Classes
Any
Exceptions thrown

ClassCastException если объект получателя не является экземпляром стирания типа T0.

def clone(): AnyRef

Создаёт копию объекта-получателя.

Значение по умолчанию метода clone зависит от платформы.

returns

копию объекта-получателя.

Attributes
protected[java.lang]
Definition Classes
AnyRef
Annotations
@throws(classOf[java.lang.CloneNotSupportedException]) @native()
Note

не определён SLS в качестве члена AnyRef

final def collect[S](pf: PartialFunction[Nothing, S])(implicit executor: ExecutionContext): Future[S]

Создаёт новое будущее, отображая значение текущего будущего, если заданная частичная функция определена для этого значения.

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

Если текущее будущее завершается ошибкой, то результирующее будущее также завершается ошибкой.

Пример:

val f = Future { -5 }
val g = f collect {
  case x if x < 0 => -x
}
val h = f collect {
  case x if x > 0 => x * 2
}
g foreach println // Eventually prints 5
Await.result(h, Duration.Zero) // throw a NoSuchElementException
S

тип возвращаемого Future

pf

PartialFunction для применения к успешному результату этого Future

returns

Future, содержащее результат применения PartialFunction или NoSuchElementException

Definition Classes
never → Future

final def eq(arg0: AnyRef): Boolean

Проверяет, является ли аргумент (that) ссылкой на объект-получатель (this).

Метод eq реализует отношение эквивалентности на не-null экземплярах AnyRef, и обладает тремя дополнительными свойствами:

    Он согласован: для любых не-null экземпляров x и y типа AnyRef, многократные вызовы x.eq(y) последовательно возвращают true или последовательно возвращают false. Для любого не-null экземпляра x типа AnyRef, x.eq(null) и null.eq(x) возвращают false. null.eq(null) возвращает true.

При переопределении методов equals или hashCode важно обеспечить, чтобы их поведение соответствовало равенству ссылок. Таким образом, если два объекта являются ссылками друг на друга (o1 eq o2), они должны быть равны друг другу (o1 == o2) и иметь одинаковое значение хэша (o1.hashCode == o2.hashCode).

возвращает

true если аргумент является ссылкой на объект-получатель; false в противном случае.

Определяющие классы
AnyRef

def equals(arg0: AnyRef): Boolean

Метод равенства для типов ссылок. Реализация по умолчанию делегирует eq.

См. также equals в scala.Any.

возвращает

true если объект-получатель эквивалентен аргументу; false в противном случае.

Определяющие классы
AnyRef → Any

final def failed: Future[Throwable]

Возвращаемое значение Future будет успешно завершено со значением Throwable исходного Future в случае сбоя исходного Future.

Если исходный Future успешно завершается, возвращаемое Future завершается с ошибкой NoSuchElementException.

Этот future может содержать объект Throwable, что означает, что он завершился с ошибкой. Future, полученные с помощью комбинирования, содержат ту же исключительную ситуацию, что и будущий объект, из которого они были получены. Следующие объекты Throwable не содержатся в future:

    Error - фатальные ошибки не содержатся в future InterruptedException - не содержатся в futureвсе scala.util.control.ControlThrowable кроме NonLocalReturnControl - не содержатся в future

Вместо этого future завершается с ExecutionException, имеющим одно из вышеуказанных исключений в качестве причины. Если future завершается с scala.runtime.NonLocalReturnControl, он завершается со значением из этого Throwable.

возвращает

завершенный с ошибкой projection этого Future.

Определяющие классы
never → Future

final def fallbackTo[U](that: Future[U]): Future[U]

Создает новый future, содержащий результат этого future, если оно было успешно завершено, или, если нет, результат future that если that завершается успешно. Если оба future завершаются с ошибкой, результирующий future содержит объект Throwable первого future.

Использование этого метода не приведет к непредсказуемости в конкуретных программах.

Пример:

val f = Future { throw new RuntimeException("failed") }
val g = Future { 5 }
val h = f fallbackTo g
h foreach println // Eventually prints 5
U

тип другого Future и результирующего Future

that

future Future, результат которого мы хотим использовать, если это Future завершается с ошибкой.

возвращает

future Future с успешным результатом этого или that Future или ошибкой этого Future если оба завершаются с ошибкой

Определяющие классы
never → Future

final def filter(p: (Nothing) => Boolean)(implicit executor: ExecutionContext): Future[Nothing]

Создает новый future, фильтруя значение текущего future с помощью предиката.

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

Если текущий future завершается с ошибкой, то и результирующий future также завершается с ошибкой.

Пример:

val f = Future { 5 }
val g = f filter { _ % 2 == 1 }
val h = f filter { _ % 2 == 0 }
g foreach println // Eventually prints 5
Await.result(h, Duration.Zero) // throw a NoSuchElementException
p

предикат, применяемый к успешному результату этого Future

возвращает

future Future, который будет содержать успешный результат этого Future если он соответствует предикату, или NoSuchElementException

Определяющие классы
never → Future

def finalize(): Unit

Вызывается сборщиком мусора для объекта-получателя, когда больше нет ссылок на объект.

Детали вызова метода finalize, а также взаимодействия между finalize и нелокальными возвратами и исключениями зависят от платформы.

Атрибуты
protected[java.lang]
Определяющие классы
AnyRef
Аннотации
@throws(classOf[java.lang.Throwable])
Примечание

не указано SLS как член AnyRef

final def flatMap[S](f: (Nothing) => Future[S])(implicit executor: ExecutionContext): Future[S]

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

Пример:

val f = Future { 5 }
val g = Future { 3 }
val h = for {
  x: Int <- f // returns Future(5)
  y: Int <- g // returns Future(3)
} yield x + y

переводится в:

f flatMap { (x: Int) => g map { (y: Int) => x + y } }
S

тип возвращаемого Future

f

функция, которая будет применена к результату успешного выполнения этого Future

returns

фьючер, который будет завершен результатом применения функции

Definition Classes
never → Future

final def flatten[S](implicit ev: <:<[Nothing, Future[S]]): Future[S]

Создаёт новый фьючер с одним уровнем вложенности, уплощенным. Этот метод эквивалентен flatMap(identity).

S

тип возвращаемого Future

Definition Classes
never → Future

final def foreach[U](f: (Nothing) => U)(implicit executor: ExecutionContext): Unit

Асинхронно обрабатывает значение в фьючере, как только оно станет доступным.

ПРЕДУПРЕЖДЕНИЕ: Не будет вызван, если этот фьючер никогда не завершится или если он завершится с ошибкой.

Поскольку этот метод выполняется асинхронно и не возвращает значение, любые некритические исключения, которые будут брошены, будут сообщены ExecutionContext.

U

используется только для принятия любого типа возвращаемого значения заданной функции обратного вызова

f

функция, которая будет выполнена, если этот Future завершится результатом. Возвращаемое значение f будет проигнорировано.

Definition Classes
never → Future

final def getClass(): Class[_ <: AnyRef]

Возвращает представление типа объекта во время выполнения.

returns

объект класса, соответствующий типу получателя во время выполнения.

Definition Classes
AnyRef → Any
Annotations
@native()

def hashCode(): Int

Метод hashCode для типов ссылок. См. hashCode в scala.Any.

returns

значение хэш-кода для этого объекта.

Definition Classes
AnyRef → Any
Annotations
@native()

final def isCompleted: Boolean

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

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

returns

true, если фьючер завершен; false в противном случае

Definition Classes
never → Future

final def isInstanceOf[T0]: Boolean

Проверяет, соответствует ли динамический тип объекта получателя типу T0.

Обратите внимание, что результат проверки модулируется семантикой стирания Scala. Следовательно, выражение 1.isInstanceOf[String] вернёт false, а выражение List(1).isInstanceOf[List[String]] вернёт true. В последнем примере, поскольку аргумент типа стирается во время компиляции, невозможно проверить, относятся ли элементы списка к указанному типу.

returns

true, если объект получателя является экземпляром стираемого типа T0; false в противном случае.

Definition Classes
Any

final def map[S](f: (Nothing) => S)(implicit executor: ExecutionContext): Future[S]

Создаёт новый фьючер, применяя функцию к результату успешного выполнения этого фьючера. Если этот фьючер завершается исключением, то новый фьючер также будет содержать это исключение.

Пример:

val f = Future { "The future" }
val g = f map { x: String => x + " is now!" }

Обратите внимание, что выражение for comprehension, включающее Future, может быть расширено, чтобы включать вызов map и или flatMap и withFilter. См. scala.concurrent.Future#flatMap для примера такого выражения.

S

тип возвращаемого Future

f

функция, которая будет применена к результату успешного выполнения этого Future

returns

фьючер, который будет завершен результатом применения функции

Definition Classes
never → Future

final def mapTo[S](implicit tag: ClassTag[S]): Future[S]

Создает новый Future[S], который завершается результатом этого Future, если он соответствует стёртому типу S, или ClassCastException в противном случае.

S

тип возвращаемого Future

tag

ClassTag, который будет использоваться для приведения результата этого Future

returns

Future, содержащий приведённый результат этого Future, или ClassCastException в противном случае

Definition Classes
never → Future

final def ne(arg0: AnyRef): Boolean

Эквивалентно !(this eq that).

returns

true если аргумент не является ссылкой на объект-получатель; false в противном случае.

Definition Classes
AnyRef

final def notify(): Unit

Разбуждает единственную нить, которая ожидает монитор объекта-получателя.

Definition Classes
AnyRef
Annotations
@native()
Note

не указано в SLS как член AnyRef

final def notifyAll(): Unit

Разбуждает все нити, которые ожидают монитор объекта-получателя.

Definition Classes
AnyRef
Annotations
@native()
Note

не указано в SLS как член AnyRef

final def onComplete[U](f: (Try[Nothing]) => U)(implicit executor: ExecutionContext): Unit

При завершении этого фьючера, как через исключение, так и через значение, выполняет переданную функцию.

Если фьючер уже завершён, это будет выполнено немедленно или запланировано асинхронно.

Обратите внимание, что возвращаемое значение f будет проигнорировано.

Так как этот метод выполняется асинхронно и не возвращает значение, любые некритические исключения будут сообщены в ExecutionContext.

Множественные коллбеки могут быть зарегистрированы; нет гарантии, что они будут выполнены в определённом порядке.

Предоставленный коллбек всегда выполняется в предоставленном неявном ExecutionContext, хотя нет гарантии, что метод execute() на ExecutionContext будет вызван один раз на каждый коллбек или что execute() будет вызван в текущей нити. Другими словами, реализация может выполнять несколько коллбеков в пакетной обработке в пределах одного execute() и может выполнять execute() немедленно или асинхронно. Завершение фьючера должно *предшествовать* вызову коллбека.

U

используется только для приема любого возвращаемого типа заданной функции обратного вызова

f

функция, которая будет выполнена при завершении этого Future

Definition Classes
never → Future

final def ready(atMost: Duration)(implicit permit: CanAwait): never.this.type

Ожидание состояния "завершён" этого Awaitable.

Этот метод не должен вызываться напрямую; используйте Await.ready вместо него.

atMost

максимальное время ожидания, которое может быть отрицательным (ожидание не выполняется), Duration.Inf для неограниченного ожидания или конечного положительного интервала времени

returns

этот Awaitable

Definition Classes
never → Awaitable
Annotations
@throws(scala.this.throws.<init>$default$1[scala.concurrent.TimeoutException]) @throws(scala.this.throws.<init>$default$1[InterruptedException])
Исключения

IllegalArgumentException если atMost равен Duration.Undefined

InterruptedException если текущая нить прервана во время ожидания

TimeoutException если после ожидания указанного времени этот Awaitable все еще не готов

final def recover[U](pf: PartialFunction[Throwable, U])(implicit executor: ExecutionContext): Future[U]

Создаёт новый фьючер, который будет обрабатывать любое соответствующее исключение, которое может содержать данный фьючер. Если совпадений нет или если этот фьючер содержит действительный результат, то новый фьючер будет содержать то же самое.

Пример:

Future (6 / 0) recover { case e: ArithmeticException => 0 } // result: 0
Future (6 / 0) recover { case e: NotFoundException   => 0 } // result: exception
Future (6 / 2) recover { case e: ArithmeticException => 0 } // result: 3
U

тип возвращаемого Future

pf

функция PartialFunction, которая применяется, если этот Future завершится с ошибкой

returns

фьючер с успешным значением этого Future или результатом PartialFunction

Definition Classes
never → Future

final def recoverWith[U](pf: PartialFunction[Throwable, Future[U]])(implicit executor: ExecutionContext): Future[U]

Создаёт новый фьючер, который будет обрабатывать любые соответствующие исключения, содержащиеся в этом фьючере, назначив им значение другого фьючера.

Если совпадений нет или если этот фьючер содержит действительный результат, то новый фьючер будет содержать тот же результат.

Пример:

val f = Future { Int.MaxValue }
Future (6 / 0) recoverWith { case e: ArithmeticException => f } // result: Int.MaxValue
U

тип возвращаемого Future

pf

функция PartialFunction, которая применяется, если этот Future завершится с ошибкой

returns

фьючер с успешным значением этого Future или результатом Future фьючера, возвращаемого PartialFunction

Definition Classes
never → Future

final def result(atMost: Duration)(implicit permit: CanAwait): Nothing

Ожидает и возвращает результат (типа T) этого Awaitable

Этот метод не должен вызываться напрямую; используйте Await.result вместо него.

atMost

максимальное время ожидания, которое может быть отрицательным (ожидание не выполняется), Duration.Inf для неограниченного ожидания или конечного положительного интервала времени

returns

значение результата, если Awaitable завершен в течение заданного максимального времени ожидания

Definition Classes
never → Awaitable
Annotations
@throws(scala.this.throws.<init>$default$1[Exception])
Exceptions thrown

IllegalArgumentException если atMost равно Duration.Undefined

InterruptedException если текущая нить прервана во время ожидания

TimeoutException если после ожидания в течение указанного времени этот Awaitable всё ещё не готов

final def synchronized[T0](arg0: => T0): T0

Definition Classes
AnyRef

final def toString(): String

Создаёт строковое представление этого объекта. По умолчанию представление зависит от платформы. На платформе Java это конкатенация имени класса, «@» и хэш-кода объекта в шестнадцатеричном формате.

returns

строковое представление объекта.

Definition Classes
never → AnyRef → Any

final def transform[S](f: (Try[Nothing]) => Try[S])(implicit executor: ExecutionContext): Future[S]

Создаёт новый фьючер, применяя указанную функцию к результату этого фьючера. Если при применении 'f' возникает любое некритическое исключение, то это исключение будет передано в результирующий фьючер.

S

тип возвращаемого Future

f

функция, преобразующая результат этого фьючера

returns

фьючер, который будет завершен преобразованным значением

Definition Classes
never → Future

final def transform[S](s: (Nothing) => S, f: (Throwable) => Throwable)(implicit executor: ExecutionContext): Future[S]

Создаёт новый фьючер, применяя функцию 's' к успешному результату этого фьючера или функцию 'f' к результату с ошибкой. Если при применении 's' или 'f' возникает любое некритичное исключение, это исключение будет передано результативному фьючеру.

S

тип возвращаемого Future

s

функция, преобразующая успешный результат получателя в успешный результат возвращаемого фьючера

f

функция, преобразующая ошибку получателя в ошибку возвращаемого фьючера

returns

фьючер, который будет завершён преобразованным значением

Definition Classes
never → Future

final def transformWith[S](f: (Try[Nothing]) => Future[S])(implicit executor: ExecutionContext): Future[S]

Создаёт новый фьючер, применяя указанную функцию, которая возвращает фьючер, к результату этого фьючера. Если при применении 'f' возникает любое некритичное исключение, это исключение будет передано результативному фьючеру.

S

тип возвращаемого Future

f

функция, преобразующая результат этого фьючера

returns

фьючер, который будет завершён преобразованным значением

Definition Classes
never → Future

final def value: Option[Try[Nothing]]

Текущее значение этого Future.

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

Если фьючер не был завершён, возвращаемое значение будет None. Если фьючер был завершён, значение будет Some(Success(t)), если он содержал допустимый результат, или Some(Failure(error)), если он содержал исключение.

returns

None, если Future не завершён, Some, если завершён.

Definition Classes
never → Future

final def wait(): Unit

Definition Classes
AnyRef
Annotations
@throws(classOf[java.lang.InterruptedException])

final def wait(arg0: Long, arg1: Int): Unit

Definition Classes
AnyRef
Annotations
@throws(classOf[java.lang.InterruptedException])

final def wait(arg0: Long): Unit

Definition Classes
AnyRef
Annotations
@throws(classOf[java.lang.InterruptedException]) @native()

final def withFilter(p: (Nothing) => Boolean)(implicit executor: ExecutionContext): Future[Nothing]

Используется для for-выражений.

Definition Classes
Future

final def zip[U](that: Future[U]): Future[(Nothing, U)]

Комбинирует значения фьючера this и фьючера that, создавая новый фьючер, содержащий кортеж их результатов.

Если фьючер this завершается с ошибкой, результирующий фьючер завершается с исключением, хранящимся в this. В противном случае, если фьючер that завершается с ошибкой, результирующий фьючер завершается с исключением, хранящимся в that.

U

тип другого Future

that

другой Future

returns

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

Definition Classes
never → Future

final def zipWith[U, R](that: Future[U])(f: (Nothing, U) => R)(implicit executor: ExecutionContext): Future[R]

Сжатие значений this и that будущих значений с помощью функции f, и создание нового будущего, содержащего результат.

Если будущее this завершается неудачно, то результирующее будущее завершается с исключением, сохранённым в this. В противном случае, если будущее that завершается неудачно, то результирующее будущее завершается с исключением, сохранённым в that. Если применение f вызывает исключение, то результирующее будущее завершается с этим исключением, если оно не является фатальным.

U

тип другого Future

R

тип результирующего Future

that

другое Future

f

функция для применения к результатам this и that

returns

будущее Future с результатом применения f к результатам this и that

Definition Classes
never → Future

© 2002-2019 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://www.scala-lang.org/api/2.13.0/scala/concurrent/Future$$never$.html

Spec-Zone.ru

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