Skip to main content

AsyncState

Enum AsyncState 

Source
pub enum AsyncState<T, L = ()> {
    Loading(L),
    Ok(T),
    Err(String),
}
Expand description

Discriminant for the three states an use_async future can be in.

Re-exported as UseAsyncState via [super]. Kept as a separate enum (rather than a Result-shaped type) so the match arms produced by users can name the Loading case separately and reach for LoadingHint (the previous “in flight” payload) when available.

The default initial state is Loading(LoadingHint::DEFAULT), because until the first .await resolves there is no T to report. Users that need a distinct pre-fetch state can supply LoadingHint via UseAsyncHandle::loading_hint().

Variants§

§

Loading(L)

The future has not yet produced a value (initial state).

§

Ok(T)

The future completed successfully with T.

§

Err(String)

The future rejected with an error of type E.

We intentionally use a free-form String for the error payload so the same enum works whether the future’s error type is JsValue, String, serde_json::Value, or a custom domain type — use_async normalises everything into String::to_string at the await boundary. Callers that need typed errors should String::parse or use a richer future combinator on top.

Trait Implementations§

Source§

impl<T: Clone, L: Clone> Clone for AsyncState<T, L>

Source§

fn clone(&self) -> AsyncState<T, L>

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<T: Debug, L: Debug> Debug for AsyncState<T, L>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<T: Eq, L: Eq> Eq for AsyncState<T, L>

Source§

impl<T: PartialEq, L: PartialEq> PartialEq for AsyncState<T, L>

Source§

fn eq(&self, other: &AsyncState<T, L>) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl<T: PartialEq, L: PartialEq> StructuralPartialEq for AsyncState<T, L>

Auto Trait Implementations§

§

impl<T, L> Freeze for AsyncState<T, L>
where L: Freeze, T: Freeze,

§

impl<T, L> RefUnwindSafe for AsyncState<T, L>

§

impl<T, L> Send for AsyncState<T, L>
where L: Send, T: Send,

§

impl<T, L> Sync for AsyncState<T, L>
where L: Sync, T: Sync,

§

impl<T, L> Unpin for AsyncState<T, L>
where L: Unpin, T: Unpin,

§

impl<T, L> UnsafeUnpin for AsyncState<T, L>
where L: UnsafeUnpin, T: UnsafeUnpin,

§

impl<T, L> UnwindSafe for AsyncState<T, L>
where L: UnwindSafe, T: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<S, T> Upcast<T> for S
where T: UpcastFrom<S> + ?Sized, S: ?Sized,

Source§

fn upcast(&self) -> &T
where Self: ErasableGeneric, T: Sized + ErasableGeneric<Repr = Self::Repr>,

Perform a zero-cost type-safe upcast to a wider ref type within the Wasm bindgen generics type system. Read more
Source§

fn upcast_into(self) -> T
where Self: Sized + ErasableGeneric, T: Sized + ErasableGeneric<Repr = Self::Repr>,

Perform a zero-cost type-safe upcast to a wider type within the Wasm bindgen generics type system. Read more