Spec-Zone.ru › Scala 2.12 Library

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

object never extends Future[Nothing]

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

Source
Future.scala
Линейные супертипы

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

final def !=(arg0: Any): Boolean

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

returns

true if !(this == that), false otherwise.

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

final def ##(): Int

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

returns

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

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

final def ==(arg0: Any): Boolean

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

returns

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

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

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

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

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

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

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

val f = Future { 5 }
f andThen {
  case r => sys.error("runtime exception")
} andThen {
  case Failure(t) => println(t)
  case Success(v) => println(v)
}

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

U

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

pf

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

returns

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

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

final def asInstanceOf[T0]: T0

Преобразует принимаемый объект в тип T0.

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

returns

принимаемый объект.

Определяющие классы
Any
Выбрасываемые исключения

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

def clone(): AnyRef

Создает копию принимаемого объекта.

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

returns

копия принимаемого объекта.

Атрибуты
protected[lang]
Определяющие классы
AnyRef
Аннотации
@throws( ... ) @native()
Note

not specified by SLS as a member of AnyRef

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

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

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

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

Пример:

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

Определяющие классы
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).

returns

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

Definition Classes
AnyRef

def equals(arg0: Any): Boolean

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

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

returns

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

Definition Classes
AnyRef → Any

def failed: Future[Throwable]

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

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

Этот фьючер может содержать объект типа исключение, что означает неудачное завершение фьючера. Фьючеры, полученные через комбинаторы, содержат те же исключения, что и фьючер, из которого они получены. Нижеследующие объекты исключения не содержатся во фьючере:

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

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

returns

неудачное проектирование этого Future.

Definition Classes
never → Future

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

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

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

Пример:

val f = Future { sys.error("failed") }
val g = Future { 5 }
val h = f fallbackTo g
h foreach println // Eventually prints 5
U

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

that

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

returns

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

Definition Classes
never → Future

def filter(p: (Nothing) ⇒ Boolean)(implicit executor: ExecutionContext): Future[Nothing]

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

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

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

Пример:

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

returns

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

Definition Classes
never → Future

def finalize(): Unit

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

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

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

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

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

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

Definition Classes
never → Future

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

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

S

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

Definition Classes
never → Future

def foreach[U](f: (Nothing) ⇒ U)(implicit executor: ExecutionContext): Unit

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

ВНИМАНИЕ: Не будет вызываться, если эта будущая задача никогда не завершится или если она завершится с ошибкой.

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

U

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

f

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

Definition Classes
never → Future

final def getClass(): Class[_]

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

returns

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

Definition Classes
AnyRef → Any
Annotations
@native()

def hashCode(): Int

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

returns

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

Definition Classes
AnyRef → Any
Annotations
@native()

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

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-понимание, включающее Future может расширяться, включая вызов map и/или flatMap и withFilter. См. scala.concurrent.Future#flatMap для примера такого понимания.

S

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

f

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

returns

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

Definition Classes
never → Future

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

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

S

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

tag

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

returns

будущая задача, содержащая преобразованный результат этой 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()
Примечание

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

final def notifyAll(): Unit

Разбуждает все потоки, ожидающие монитора объекта-приёмника.

Definition Classes
AnyRef
Annotations
@native()
Примечание

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

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

def onFailure[U](pf: PartialFunction[Throwable, U])(implicit executor: ExecutionContext): Unit

При завершении этого будущего с ошибкой (т.е. с исключением), примените предоставленный обратный вызов к исключению.

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

    Error - ошибки не содержатся в будущих InterruptedException - не содержится в будущихвсе scala.util.control.ControlThrowable кроме NonLocalReturnControl - не содержится в будущих

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

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

Не будет вызываться в случае, если будущее завершено со значением.

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

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

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

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

Definition Classes
never → Future

def onSuccess[U](pf: PartialFunction[Nothing, U])(implicit executor: ExecutionContext): Unit

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

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

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

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

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

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

Definition Classes
never → Future

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

Дождитесь состояния "completed" этого Awaitable.

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

atMost

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

returns

этот Awaitable

Definition Classes
never → Awaitable
Annotations
@throws( clazz = classOf[TimeoutException] ) @throws( clazz = classOf[InterruptedException] )
Исключения

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

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

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

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

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

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

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

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

atMost

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

returns

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

Definition Classes
never → Awaitable
Annotations
@throws( clazz = classOf[TimeoutException] ) @throws( clazz = classOf[InterruptedException] )
Исключения

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

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

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

final def synchronized[T0](arg0: ⇒ T0): T0

Definition Classes
AnyRef

def toString(): String

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

returns

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

Definition Classes
never → AnyRef → Any

def transform[S](f: (Try[Nothing]) ⇒ Try[S])(implicit executor: ExecutionContext): Future[S]

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

S

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

f

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

returns

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

Definition Classes
never → Future

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

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

S

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

s

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

f

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

returns

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

Definition Classes
never → Future

def transformWith[S](f: (Try[Nothing]) ⇒ Future[S])(implicit executor: ExecutionContext): Future[S]

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

S

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

f

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

returns

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

Definition Classes
never → Future

def value: Option[Try[Nothing]]

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

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

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

returns

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

Definition Classes
never → Future

final def wait(): Unit

Definition Classes
AnyRef
Annotations
@throws( ... )

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

Definition Classes
AnyRef
Annotations
@throws( ... )

final def wait(arg0: Long): Unit

Definition Classes
AnyRef
Annotations
@throws( ... ) @native()

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

Используется для for-comprehensions.

Definition Classes
Future

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

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

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

U

тип другого Future

that

другой Future

возвращает

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

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

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

возвращает

фьючерс Future с результатом применения f к результатам this и that

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

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

Spec-Zone.ru

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