object Await
Synchronously await the result of some action by blocking the current thread.
The two main uses of Await
are (a) you have synchronous code that needs to
wait on some action performed by asynchronous code, or (b) you have synchronous code
that needs to wait on some action performed on a thread pool or otherwise a different
thread.
A common type of Awaitable
is the com.twitter.util.Future.
In the context of an event loop (such as when you are on a Finagle thread), never synchronously wait for completion - favoring asynchronous methods such as combinators or callbacks registered on a Future.
- Alphabetic
- By Inheritance
- Await
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def all(awaitables: Collection[Awaitable[_]], timeout: Duration): Unit
Returns after all actions have completed.
Returns after all actions have completed. The timeout given is passed to each awaitable in turn, meaning max await time will be awaitables.size * timeout.
- Annotations
- @throws(classOf[TimeoutException]) @throws(classOf[InterruptedException])
- See also
Await.all(Seq, Duration)
- def all(awaitables: Seq[Awaitable[_]], timeout: Duration): Unit
Returns after all actions have completed.
Returns after all actions have completed. The timeout given is passed to each awaitable in turn, meaning max await time will be awaitables.size * timeout.
If any of the
Awaitable
s are not ready withintimeout
, a com.twitter.util.TimeoutException will be thrown.- Annotations
- @throws(classOf[TimeoutException]) @throws(classOf[InterruptedException])
- def all(awaitables: Awaitable[_]*): Unit
Returns after all actions have completed.
Returns after all actions have completed. The timeout given is passed to each awaitable in turn, meaning max await time will be awaitables.size * timeout.
- Annotations
- @throws(classOf[TimeoutException]) @throws(classOf[InterruptedException]) @varargs()
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def isReady(awaitable: Awaitable[_]): Boolean
Is this Awaitable ready? In other words: would calling Awaitable.ready block?
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def ready[T <: Awaitable[_]](awaitable: T, timeout: Duration): T
Returns the awaitable object itself when the action has completed.
Returns the awaitable object itself when the action has completed. Completion of this method merely indicates action completion, regardless of whether it was successful or not. In order to determine whether the action was successful, the awaitable must be queried separately. Prefer using
result()
when you wish failures to be thrown as exceptions.If the
Awaitable
is not ready withintimeout
, a com.twitter.util.TimeoutException will be thrown.- Annotations
- @throws(classOf[TimeoutException]) @throws(classOf[InterruptedException])
- def ready[T <: Awaitable[_]](awaitable: T): T
Returns the awaitable object itself when the action has completed.
Returns the awaitable object itself when the action has completed. Completion of this method merely indicates action completion, regardless of whether it was successful or not. In order to determine whether the action was successful, the awaitable must be queried separately. Prefer using
result()
when you wish failures to be thrown as exceptions.- Annotations
- @throws(classOf[TimeoutException]) @throws(classOf[InterruptedException])
- def result[T](awaitable: Awaitable[T], timeout: Duration): T
Waits until the action has completed.
Waits until the action has completed. If the action was successful, returns the result of the action. If the action failed, the corresponding exception representing the failure is thrown.
If you want the results as a com.twitter.util.Try, use
Await.result(future.liftToTry)
.If the
Awaitable
is not ready withintimeout
, a com.twitter.util.TimeoutException will be thrown.- Annotations
- @throws(classOf[Exception])
- def result[T](awaitable: Awaitable[T]): T
Waits until the action has completed.
Waits until the action has completed. If the action was successful, returns the result of the action. If the action failed, the corresponding exception representing the failure is thrown.
If you want the results as a com.twitter.util.Try, use
Await.result(future.liftToTry)
.- Annotations
- @throws(classOf[Exception])
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- 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()