Programmer Reference
:
Asynchronous Programming
:
Features
Features
Task Scheduler
:
Specialized task scheduler that helps ensure the user has a chance to add all required exception handlers to a future before the future is completed
Futures
:
Objects representing a delayed computation
Custom futures that implement the EsFuture interface may be integrated into the framework (@see @EsFuture-Interface category)
Turn any synchronous activity into an asynchronous activity (i.e.
EsFuture on: [self doSyncActivity]
)
(Chainable) Create async call chains (i.e
((future then: [:result1 | self doSomething(result1)]) then: [:result2 | ...)
)
@see
<EsFuture>
class comments for more details
Promises
:
Objects that provide a future and is used to programmatically complete the future.
Can be used to convert callback style to async style
@see
<EsPromise>
class comments for more details
Zones
:
Asynchronous dynamic extent of a call
Handle errors for asynchronous code
Provides zone-local values
Various ways to customize how an asynchronous task is scheduled and executed
Streams
Stream of asynchronous events
Single-subscription streams with events in order and all are received.
Broadcast streams can have multiple listeners at any time
Async Exception Handling
Async equivalents of
#on:do:
and ensure: are provided
Can signal arbitrary objects, in addition to other exceptions
All unhandled exceptions make their way to the
<EsAsyncUncaughtErrorHandler>
(logged to tty console by default)
Last modified date: 04/22/2022
This site works best with JavaScript enabled