pub struct PromiseWithResolvers<T = JsValue, E = JsValue> { /* private fields */ }Expand description
The object returned by Promise::with_resolvers, bundling a
pending promise with the functions that settle it.
T is the fulfilled value type and E the rejection reason type,
both defaulting to JsValue. Unlike Promise<T, E> it is invariant
in both: resolve and reject take a T and an E, so widening
either would let the promise settle with a value its type rules out.
Implementations§
Source§impl<E, T> PromiseWithResolvers<T, E>
impl<E, T> PromiseWithResolvers<T, E>
Source§impl<E, T> PromiseWithResolvers<T, E>
impl<E, T> PromiseWithResolvers<T, E>
Methods from Deref<Target = Object>§
Sourcepub fn constructor(&self) -> Function
pub fn constructor(&self) -> Function
The constructor property returns a reference to the Object constructor
function that created the instance object.
Sourcepub fn has_own_property(&self, property: &JsValue) -> bool
👎Deprecated: Use Object::hasOwn instead.
pub fn has_own_property(&self, property: &JsValue) -> bool
Use Object::hasOwn instead.
The hasOwnProperty() method returns a boolean indicating whether the
object has the specified property as its own property (as opposed to
inheriting it).
Sourcepub fn is_prototype_of(&self, value: &JsValue) -> bool
pub fn is_prototype_of(&self, value: &JsValue) -> bool
The isPrototypeOf() method checks if an object exists in another
object’s prototype chain.
Sourcepub fn property_is_enumerable(&self, property: &JsValue) -> bool
pub fn property_is_enumerable(&self, property: &JsValue) -> bool
The propertyIsEnumerable() method returns a Boolean indicating
whether the specified property is enumerable.
Sourcepub fn to_locale_string(&self) -> JsString
pub fn to_locale_string(&self) -> JsString
The toLocaleString() method returns a string representing the object.
This method is meant to be overridden by derived objects for
locale-specific purposes.
Sourcepub fn to_string(&self) -> JsString
pub fn to_string(&self) -> JsString
The toString() method returns a string representing the object.
Sourcepub fn to_js_string(&self) -> JsString
pub fn to_js_string(&self) -> JsString
The toString() method returns a string representing the object.
Methods from Deref<Target = JsValue>§
Sourcepub fn as_f64(&self) -> Option<f64>
pub fn as_f64(&self) -> Option<f64>
Returns the f64 value of this JS value if it’s an instance of a
number.
If this JS value is not an instance of a number then this returns
None.
Sourcepub fn as_string(&self) -> Option<String>
pub fn as_string(&self) -> Option<String>
If this JS value is a string value, this function copies the JS string
value into Wasm linear memory, encoded as UTF-8, and returns it as a
Rust String.
To avoid the copying and re-encoding, consider the
JsString::try_from() function from js-sys
instead.
If this JS value is not an instance of a string or if it’s not valid
utf-8 then this returns None.
§UTF-16 vs UTF-8
JavaScript strings in general are encoded as UTF-16, but Rust strings
are encoded as UTF-8. This can cause the Rust string to look a bit
different than the JS string sometimes. For more details see the
documentation about the str type which contains a few
caveats about the encodings.
Sourcepub fn as_bool(&self) -> Option<bool>
pub fn as_bool(&self) -> Option<bool>
Returns the bool value of this JS value if it’s an instance of a
boolean.
If this JS value is not an instance of a boolean then this returns
None.
Sourcepub fn is_undefined(&self) -> bool
pub fn is_undefined(&self) -> bool
Tests whether this JS value is undefined
Sourcepub fn is_null_or_undefined(&self) -> bool
pub fn is_null_or_undefined(&self) -> bool
Tests whether this JS value is null or undefined
Sourcepub fn is_function(&self) -> bool
pub fn is_function(&self) -> bool
Tests whether the type of this JS value is function.
Sourcepub fn js_in(&self, obj: &JsValue) -> bool
pub fn js_in(&self, obj: &JsValue) -> bool
Applies the binary in JS operator on the two JsValues.
Sourcepub fn loose_eq(&self, other: &JsValue) -> bool
pub fn loose_eq(&self, other: &JsValue) -> bool
Compare two JsValues for equality, using the == operator in JS.
Sourcepub fn unsigned_shr(&self, rhs: &JsValue) -> u32
pub fn unsigned_shr(&self, rhs: &JsValue) -> u32
Applies the binary >>> JS operator on the two JsValues.
Sourcepub fn checked_div(&self, rhs: &JsValue) -> JsValue
pub fn checked_div(&self, rhs: &JsValue) -> JsValue
Applies the binary / JS operator on two JsValues, catching and returning any RangeError thrown.
Sourcepub fn pow(&self, rhs: &JsValue) -> JsValue
pub fn pow(&self, rhs: &JsValue) -> JsValue
Applies the binary ** JS operator on the two JsValues.
Sourcepub fn lt(&self, other: &JsValue) -> bool
pub fn lt(&self, other: &JsValue) -> bool
Applies the binary < JS operator on the two JsValues.
Sourcepub fn le(&self, other: &JsValue) -> bool
pub fn le(&self, other: &JsValue) -> bool
Applies the binary <= JS operator on the two JsValues.
Sourcepub fn ge(&self, other: &JsValue) -> bool
pub fn ge(&self, other: &JsValue) -> bool
Applies the binary >= JS operator on the two JsValues.
Sourcepub fn gt(&self, other: &JsValue) -> bool
pub fn gt(&self, other: &JsValue) -> bool
Applies the binary > JS operator on the two JsValues.
Sourcepub fn unchecked_into_f64(&self) -> f64
pub fn unchecked_into_f64(&self) -> f64
Applies the unary + JS operator on a JsValue. Can throw.
Trait Implementations§
Source§impl<T, E> AsRef<JsValue> for PromiseWithResolvers<T, E>
impl<T, E> AsRef<JsValue> for PromiseWithResolvers<T, E>
Source§impl<T, E> AsRef<Object> for PromiseWithResolvers<T, E>
impl<T, E> AsRef<Object> for PromiseWithResolvers<T, E>
Source§impl<T, E> AsRef<PromiseWithResolvers<T, E>> for PromiseWithResolvers<T, E>
impl<T, E> AsRef<PromiseWithResolvers<T, E>> for PromiseWithResolvers<T, E>
Source§fn as_ref(&self) -> &PromiseWithResolvers<T, E>
fn as_ref(&self) -> &PromiseWithResolvers<T, E>
Source§impl<T, E> Clone for PromiseWithResolvers<T, E>
impl<T, E> Clone for PromiseWithResolvers<T, E>
Source§fn clone(&self) -> PromiseWithResolvers<T, E>
fn clone(&self) -> PromiseWithResolvers<T, E>
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<T, E> Debug for PromiseWithResolvers<T, E>
impl<T, E> Debug for PromiseWithResolvers<T, E>
Source§impl<T, E> Deref for PromiseWithResolvers<T, E>
impl<T, E> Deref for PromiseWithResolvers<T, E>
impl<T, E> Eq for PromiseWithResolvers<T, E>
Source§impl<T, E> ErasableGeneric for PromiseWithResolvers<T, E>
impl<T, E> ErasableGeneric for PromiseWithResolvers<T, E>
Source§impl From<JsValue> for PromiseWithResolvers
impl From<JsValue> for PromiseWithResolvers
Source§fn from(obj: JsValue) -> PromiseWithResolvers
fn from(obj: JsValue) -> PromiseWithResolvers
Source§impl<T, E> From<PromiseWithResolvers<T, E>> for JsValue
impl<T, E> From<PromiseWithResolvers<T, E>> for JsValue
Source§fn from(obj: PromiseWithResolvers<T, E>) -> JsValue
fn from(obj: PromiseWithResolvers<T, E>) -> JsValue
Source§impl<T, E> From<PromiseWithResolvers<T, E>> for Object
impl<T, E> From<PromiseWithResolvers<T, E>> for Object
Source§fn from(obj: PromiseWithResolvers<T, E>) -> Object
fn from(obj: PromiseWithResolvers<T, E>) -> Object
Source§impl<T, E> FromWasmAbi for PromiseWithResolvers<T, E>
impl<T, E> FromWasmAbi for PromiseWithResolvers<T, E>
Source§type Abi = <JsValue as FromWasmAbi>::Abi
type Abi = <JsValue as FromWasmAbi>::Abi
Source§unsafe fn from_abi(
js: <PromiseWithResolvers<T, E> as FromWasmAbi>::Abi,
) -> PromiseWithResolvers<T, E>
unsafe fn from_abi( js: <PromiseWithResolvers<T, E> as FromWasmAbi>::Abi, ) -> PromiseWithResolvers<T, E>
Source§impl<T, E> IntoJsGeneric for PromiseWithResolvers<T, E>where
PromiseWithResolvers<T, E>: JsGeneric,
impl<T, E> IntoJsGeneric for PromiseWithResolvers<T, E>where
PromiseWithResolvers<T, E>: JsGeneric,
Source§type JsCanon = PromiseWithResolvers<T, E>
type JsCanon = PromiseWithResolvers<T, E>
JsGeneric form of this type.Source§fn to_js(self) -> PromiseWithResolvers<T, E>
fn to_js(self) -> PromiseWithResolvers<T, E>
JsGeneric value for self.Source§impl<T, E> IntoWasmAbi for PromiseWithResolvers<T, E>
impl<T, E> IntoWasmAbi for PromiseWithResolvers<T, E>
Source§type Abi = <JsValue as IntoWasmAbi>::Abi
type Abi = <JsValue as IntoWasmAbi>::Abi
Source§fn into_abi(self) -> <PromiseWithResolvers<T, E> as IntoWasmAbi>::Abi
fn into_abi(self) -> <PromiseWithResolvers<T, E> as IntoWasmAbi>::Abi
self into Self::Abi so that it can be sent across the wasm
ABI boundary.Source§impl<'__wbg_ref, T, E> IntoWasmAbi for &'__wbg_ref PromiseWithResolvers<T, E>
impl<'__wbg_ref, T, E> IntoWasmAbi for &'__wbg_ref PromiseWithResolvers<T, E>
Source§type Abi = <&'__wbg_ref JsValue as IntoWasmAbi>::Abi
type Abi = <&'__wbg_ref JsValue as IntoWasmAbi>::Abi
Source§fn into_abi(
self,
) -> <&'__wbg_ref PromiseWithResolvers<T, E> as IntoWasmAbi>::Abi
fn into_abi( self, ) -> <&'__wbg_ref PromiseWithResolvers<T, E> as IntoWasmAbi>::Abi
self into Self::Abi so that it can be sent across the wasm
ABI boundary.Source§impl<T, E> JsCast for PromiseWithResolvers<T, E>
impl<T, E> JsCast for PromiseWithResolvers<T, E>
Source§fn instanceof(val: &JsValue) -> bool
fn instanceof(val: &JsValue) -> bool
instanceof check to see whether the JsValue
provided is an instance of this type. Read moreSource§fn unchecked_from_js(val: JsValue) -> PromiseWithResolvers<T, E>
fn unchecked_from_js(val: JsValue) -> PromiseWithResolvers<T, E>
Source§fn unchecked_from_js_ref(val: &JsValue) -> &PromiseWithResolvers<T, E>
fn unchecked_from_js_ref(val: &JsValue) -> &PromiseWithResolvers<T, E>
Source§fn has_type<T>(&self) -> boolwhere
T: JsCast,
fn has_type<T>(&self) -> boolwhere
T: JsCast,
T. Read moreSource§fn dyn_into<T>(self) -> Result<T, Self>where
T: JsCast,
fn dyn_into<T>(self) -> Result<T, Self>where
T: JsCast,
T. Read moreSource§fn dyn_ref<T>(&self) -> Option<&T>where
T: JsCast,
fn dyn_ref<T>(&self) -> Option<&T>where
T: JsCast,
T. Read moreSource§fn unchecked_into<T>(self) -> Twhere
T: JsCast,
fn unchecked_into<T>(self) -> Twhere
T: JsCast,
Source§fn unchecked_ref<T>(&self) -> &Twhere
T: JsCast,
fn unchecked_ref<T>(&self) -> &Twhere
T: JsCast,
Source§impl<T, E> LongRefFromWasmAbi for PromiseWithResolvers<T, E>
impl<T, E> LongRefFromWasmAbi for PromiseWithResolvers<T, E>
Source§type Anchor = PromiseWithResolvers<T, E>
type Anchor = PromiseWithResolvers<T, E>
RefFromWasmAbi::AnchorSource§unsafe fn long_ref_from_abi(
js: <PromiseWithResolvers<T, E> as LongRefFromWasmAbi>::Abi,
) -> <PromiseWithResolvers<T, E> as LongRefFromWasmAbi>::Anchor
unsafe fn long_ref_from_abi( js: <PromiseWithResolvers<T, E> as LongRefFromWasmAbi>::Abi, ) -> <PromiseWithResolvers<T, E> as LongRefFromWasmAbi>::Anchor
RefFromWasmAbi::ref_from_abiSource§impl<T, E> NullableFromWasmAbi for PromiseWithResolvers<T, E>
impl<T, E> NullableFromWasmAbi for PromiseWithResolvers<T, E>
Source§fn is_null(
abi: &<PromiseWithResolvers<T, E> as MaybeFromWasmAbi>::MaybeAbi,
) -> bool
fn is_null( abi: &<PromiseWithResolvers<T, E> as MaybeFromWasmAbi>::MaybeAbi, ) -> bool
Nullable::Null.Source§impl<T, E> NullableIntoWasmAbi for PromiseWithResolvers<T, E>
impl<T, E> NullableIntoWasmAbi for PromiseWithResolvers<T, E>
Source§fn null() -> <PromiseWithResolvers<T, E> as MaybeIntoWasmAbi>::MaybeAbi
fn null() -> <PromiseWithResolvers<T, E> as MaybeIntoWasmAbi>::MaybeAbi
Source§impl<'__wbg_ref, T, E> NullableIntoWasmAbi for &'__wbg_ref PromiseWithResolvers<T, E>
impl<'__wbg_ref, T, E> NullableIntoWasmAbi for &'__wbg_ref PromiseWithResolvers<T, E>
Source§fn null() -> <&'__wbg_ref PromiseWithResolvers<T, E> as MaybeIntoWasmAbi>::MaybeAbi
fn null() -> <&'__wbg_ref PromiseWithResolvers<T, E> as MaybeIntoWasmAbi>::MaybeAbi
Source§impl<T, E> OptionFromWasmAbi for PromiseWithResolvers<T, E>
impl<T, E> OptionFromWasmAbi for PromiseWithResolvers<T, E>
Source§fn is_none(abi: &<PromiseWithResolvers<T, E> as FromWasmAbi>::Abi) -> bool
fn is_none(abi: &<PromiseWithResolvers<T, E> as FromWasmAbi>::Abi) -> bool
None, and otherwise it will be passed to
FromWasmAbi.Source§impl<T, E> OptionIntoWasmAbi for PromiseWithResolvers<T, E>
impl<T, E> OptionIntoWasmAbi for PromiseWithResolvers<T, E>
Source§fn none() -> <PromiseWithResolvers<T, E> as IntoWasmAbi>::Abi
fn none() -> <PromiseWithResolvers<T, E> as IntoWasmAbi>::Abi
None branch of this option. Read moreSource§impl<'__wbg_ref, T, E> OptionIntoWasmAbi for &'__wbg_ref PromiseWithResolvers<T, E>
impl<'__wbg_ref, T, E> OptionIntoWasmAbi for &'__wbg_ref PromiseWithResolvers<T, E>
Source§fn none() -> <&'__wbg_ref PromiseWithResolvers<T, E> as IntoWasmAbi>::Abi
fn none() -> <&'__wbg_ref PromiseWithResolvers<T, E> as IntoWasmAbi>::Abi
None branch of this option. Read moreSource§impl<T, E> PartialEq for PromiseWithResolvers<T, E>
impl<T, E> PartialEq for PromiseWithResolvers<T, E>
Source§impl<T, E> Promising for PromiseWithResolvers<T, E>
impl<T, E> Promising for PromiseWithResolvers<T, E>
Source§type Resolution = PromiseWithResolvers<T, E>
type Resolution = PromiseWithResolvers<T, E>
Source§impl<T, E> RefFromWasmAbi for PromiseWithResolvers<T, E>
impl<T, E> RefFromWasmAbi for PromiseWithResolvers<T, E>
Source§type Abi = <JsValue as RefFromWasmAbi>::Abi
type Abi = <JsValue as RefFromWasmAbi>::Abi
Self are recovered from.Source§type Anchor = ManuallyDrop<PromiseWithResolvers<T, E>>
type Anchor = ManuallyDrop<PromiseWithResolvers<T, E>>
Self for the duration of the
invocation of the function that has an &Self parameter. This is
required to ensure that the lifetimes don’t persist beyond one function
call, and so that they remain anonymous.Source§unsafe fn ref_from_abi(
js: <PromiseWithResolvers<T, E> as RefFromWasmAbi>::Abi,
) -> <PromiseWithResolvers<T, E> as RefFromWasmAbi>::Anchor
unsafe fn ref_from_abi( js: <PromiseWithResolvers<T, E> as RefFromWasmAbi>::Abi, ) -> <PromiseWithResolvers<T, E> as RefFromWasmAbi>::Anchor
impl<T, E> UpcastFrom<PromiseWithResolvers<T, E>> for PromiseWithResolvers<T, E>
impl<T, E> UpcastFrom<PromiseWithResolvers<T, E>> for JsOption<PromiseWithResolvers<T, E>>
impl<T, E> UpcastFrom<PromiseWithResolvers<T, E>> for JsNullable<PromiseWithResolvers<T, E>>
impl<T, E> UpcastFrom<PromiseWithResolvers<T, E>> for JsValue
impl<T, E> UpcastFrom<PromiseWithResolvers<T, E>> for JsOption
impl<T, E, Target> UpcastFrom<PromiseWithResolvers<T, E>> for Option<Target>where
Target: UpcastFrom<PromiseWithResolvers<T, E>>,
impl<T, E, Target> UpcastFrom<PromiseWithResolvers<T, E>> for Nullable<Target>where
Target: UpcastFrom<PromiseWithResolvers<T, E>>,
impl<T, E> UpcastFrom<PromiseWithResolvers<T, E>> for JsNullable
impl<T, E> UpcastFrom<PromiseWithResolvers<T, E>> for Object
impl<T, E> UpcastFrom<PromiseWithResolvers<T, E>> for JsOption<Object>
impl<T, E> UpcastFrom<PromiseWithResolvers<T, E>> for JsNullable<Object>
Source§impl<T, E> VectorRefIntoWasmAbi for PromiseWithResolvers<T, E>
impl<T, E> VectorRefIntoWasmAbi for PromiseWithResolvers<T, E>
fn slice_into_abi(slice: &[PromiseWithResolvers<T, E>]) -> WasmSlice
Auto Trait Implementations§
impl<T, E> Freeze for PromiseWithResolvers<T, E>
impl<T, E> RefUnwindSafe for PromiseWithResolvers<T, E>
impl<T, E> Send for PromiseWithResolvers<T, E>
impl<T, E> Sync for PromiseWithResolvers<T, E>
impl<T, E> Unpin for PromiseWithResolvers<T, E>
impl<T, E> UnsafeUnpin for PromiseWithResolvers<T, E>
impl<T, E> UnwindSafe for PromiseWithResolvers<T, E>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> JsGeneric for T
Source§impl<T> MaybeFromWasmAbi for Twhere
T: OptionFromWasmAbi,
impl<T> MaybeFromWasmAbi for Twhere
T: OptionFromWasmAbi,
Source§type MaybeAbi = <T as FromWasmAbi>::Abi
type MaybeAbi = <T as FromWasmAbi>::Abi
Option<Self>.Source§unsafe fn from_maybe_abi(js: <T as FromWasmAbi>::Abi) -> T
unsafe fn from_maybe_abi(js: <T as FromWasmAbi>::Abi) -> T
unsafe fn try_from_maybe_abi( js: <T as FromWasmAbi>::Abi, ) -> Result<T, &'static str>
Source§impl<T> MaybeIntoWasmAbi for Twhere
T: OptionIntoWasmAbi,
impl<T> MaybeIntoWasmAbi for Twhere
T: OptionIntoWasmAbi,
Source§type MaybeAbi = <T as IntoWasmAbi>::Abi
type MaybeAbi = <T as IntoWasmAbi>::Abi
Option<Self>.Source§fn into_maybe_abi(self) -> <T as IntoWasmAbi>::Abi
fn into_maybe_abi(self) -> <T as IntoWasmAbi>::Abi
Option<Self> ABI.Source§impl<T, A> RefIntoWasmAbi for T
impl<T, A> RefIntoWasmAbi for T
Source§fn describe_ref()
fn describe_ref()
&Self.Source§fn ref_into_abi(&self) -> A
fn ref_into_abi(&self) -> A
&self into Self::Abi.Source§impl<T> ReturnWasmAbi for Twhere
T: IntoWasmAbi,
impl<T> ReturnWasmAbi for Twhere
T: IntoWasmAbi,
Source§type Abi = <T as IntoWasmAbi>::Abi
type Abi = <T as IntoWasmAbi>::Abi
IntoWasmAbi::AbiSource§fn return_abi(self) -> <T as ReturnWasmAbi>::Abi
fn return_abi(self) -> <T as ReturnWasmAbi>::Abi
IntoWasmAbi::into_abi, except that it may throw and never
return in the case of Err.Source§impl<T> TryFromJsValue for Twhere
T: JsCast,
impl<T> TryFromJsValue for Twhere
T: JsCast,
Source§fn try_from_js_value_ref(val: &JsValue) -> Option<T>
fn try_from_js_value_ref(val: &JsValue) -> Option<T>
Source§const NULLABLE: bool = false
const NULLABLE: bool = false
Self accepts null as a distinct value space, as
Nullable<T> does. An enclosing Option then passes null through
instead of reading it as None, so Option<T> is itself nullable
exactly when T is not. JsValue does not set this: it accepts
null as one value among all of them, not as a distinct space, and
Option<JsValue> reads it as None like the ABI does. This is the
JS-value side of NullableFromWasmAbi, which claims null at the
ABI.