[][src]Struct script::dom::bindings::refcounted::TrustedPromise

pub struct TrustedPromise {
    dom_object: *const Promise,
    owner_thread: *const c_void,
}

A safe wrapper around a DOM Promise object that can be shared among threads for use in asynchronous operations. The underlying DOM object is guaranteed to live at least as long as the last outstanding TrustedPromise instance. These values cannot be cloned, only created from existing Rc values.

Fields

dom_object: *const Promiseowner_thread: *const c_void

Implementations

impl TrustedPromise[src]

pub fn new(promise: Rc<Promise>) -> TrustedPromise[src]

Create a new TrustedPromise instance from an existing DOM object. The object will be prevented from being GCed for the duration of the resulting TrustedPromise object's lifetime.

pub fn root(self) -> Rc<Promise>[src]

Obtain a usable DOM Promise from a pinned TrustedPromise value. Fails if used on a different thread than the original value from which this TrustedPromise was obtained.

pub fn reject_task(self, error: Error) -> impl TaskOnce[src]

A task which will reject the promise.

pub fn resolve_task<T>(self, value: T) -> impl TaskOnce where
    T: ToJSValConvertible + Send
[src]

A task which will resolve the promise.

Trait Implementations

impl JSTraceable for TrustedPromise[src]

impl Send for TrustedPromise[src]

Auto Trait Implementations

impl !RefUnwindSafe for TrustedPromise

impl !Sync for TrustedPromise

impl Unpin for TrustedPromise

impl !UnwindSafe for TrustedPromise

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Erased for T[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> MaybeBoxed<Box<T>> for T[src]

impl<T> MaybeBoxed<T> for T[src]

impl<T> Same<T> for T[src]

type Output = T

Should always be Self

impl<T> SetParameter for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 
[src]