pub trait ScopedTask<'task>: Send + Sized {
type Output: Send + Sized + 'static;
type JsValue: ToNapiValue + TypeName;
// Required methods
fn compute(&mut self) -> Result<Self::Output>;
fn resolve(
&mut self,
env: &'task Env,
output: Self::Output,
) -> Result<Self::JsValue>;
// Provided methods
fn reject(&mut self, env: &'task Env, err: Error) -> Result<Self::JsValue> { ... }
fn finally(self, env: Env) -> Result<()> { ... }
}Expand description
Basically it’s the same as the Task trait
The difference is it can be resolve or reject a JsValue with lifetime
Required Associated Types§
Required Methods§
Provided Methods§
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.