Module workflow_core::task
source · Expand description
task
module provides helper functions for use with async closures that operate uniformly
in native (tokio
-backed) and WASM (async_std
-backed) environments
(i.e. a web browser).
Following functions are are available:
spawn()
- non-blocking spawn of the supplied async closuresleep()
- suspends the task for a given Durationyield_now()
- yields rust executoryield_executor()
- yields to top-level executor (browser async loop)
A Task
struct is also available and allows spawning an async closures while
providing it with an argument, a return value and a channel that signals termination.
Once started, the task can be externally terminated and/or waited until completion.
Blocking spawn is not available as browser-WASM can not block task execution due to a single-threaded async environment.
Re-exports
pub use native::*;