trait JSRun extends AutoCloseable
A launched instance of a JSEnv.
This is the interface to actually running JS code (whether this is in process or not depens on the JSEnv that created the JSRun).
Any implementation is expected to be fully thread-safe.
- Alphabetic
- By Inheritance
- JSRun
- AutoCloseable
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract def close(): Unit
Stops the run and releases all the resources.
Stops the run and releases all the resources.
This must be called to ensure the run's resources are released.
Whether or not this makes the run fail or not is up to the implementation. However, in the following cases, calling close may not fail the run:
- future is already completed when close is called.
- This is a JSComRun and the event loop inside the VM is empty.
Idempotent, async, nothrow.
- Definition Classes
- JSRun → AutoCloseable
- abstract def future: Future[Unit]
A Future that completes if the run completes.
A Future that completes if the run completes.
The future is failed if the run fails.
Note that a JSRun is not required to ever terminate on it's own. That means even if all code is executed and the event loop is empty, the run may continue to run. As a consequence, it is *not* correct to rely on termination of a JSRun without any external means of stopping it (i.e. calling close).
Concrete 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
- 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
- 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()
- 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()