Struct js_sys::Promise [−][src]
The Promise
object represents the eventual completion (or failure) of
an asynchronous operation, and its resulting value.
Implementations
impl Promise
[src]
pub fn new(cb: &mut dyn FnMut(Function, Function)) -> Promise
[src]
Creates a new Promise
with the provided executor cb
The cb
is a function that is passed with the arguments resolve
and
reject
. The cb
function is executed immediately by the Promise
implementation, passing resolve
and reject
functions (the executor
is called before the Promise
constructor even returns the created
object). The resolve
and reject
functions, when called, resolve or
reject the promise, respectively. The executor normally initiates
some asynchronous work, and then, once that completes, either calls
the resolve
function to resolve the promise or else rejects it if an
error occurred.
If an error is thrown in the executor function, the promise is rejected. The return value of the executor is ignored.
impl Promise
[src]
pub fn all(obj: &JsValue) -> Promise
[src]
The Promise.all(iterable)
method returns a single Promise
that
resolves when all of the promises in the iterable argument have resolved
or when the iterable argument contains no promises. It rejects with the
reason of the first promise that rejects.
impl Promise
[src]
pub fn race(obj: &JsValue) -> Promise
[src]
The Promise.race(iterable)
method returns a promise that resolves or
rejects as soon as one of the promises in the iterable resolves or
rejects, with the value or reason from that promise.
impl Promise
[src]
pub fn reject(obj: &JsValue) -> Promise
[src]
The Promise.reject(reason)
method returns a Promise
object that is
rejected with the given reason.
impl Promise
[src]
pub fn resolve(obj: &JsValue) -> Promise
[src]
The Promise.resolve(value)
method returns a Promise
object that is
resolved with the given value. If the value is a promise, that promise
is returned; if the value is a thenable (i.e. has a “then” method), the
returned promise will “follow” that thenable, adopting its eventual
state; otherwise the returned promise will be fulfilled with the value.
impl Promise
[src]
pub fn catch(&self, cb: &Closure<dyn FnMut(JsValue)>) -> Promise
[src]
The catch()
method returns a Promise
and deals with rejected cases
only. It behaves the same as calling Promise.prototype.then(undefined, onRejected)
(in fact, calling obj.catch(onRejected)
internally calls
obj.then(undefined, onRejected)
).
impl Promise
[src]
pub fn then(&self, cb: &Closure<dyn FnMut(JsValue)>) -> Promise
[src]
The then()
method returns a Promise
. It takes up to two arguments:
callback functions for the success and failure cases of the Promise
.
impl Promise
[src]
pub fn then2(
&self,
resolve: &Closure<dyn FnMut(JsValue)>,
reject: &Closure<dyn FnMut(JsValue)>
) -> Promise
[src]
&self,
resolve: &Closure<dyn FnMut(JsValue)>,
reject: &Closure<dyn FnMut(JsValue)>
) -> Promise
Same as then
, only with both arguments provided.
impl Promise
[src]
pub fn finally(&self, cb: &Closure<dyn FnMut()>) -> Promise
[src]
The finally()
method returns a Promise
. When the promise is settled,
whether fulfilled or rejected, the specified callback function is
executed. This provides a way for code that must be executed once the
Promise
has been dealt with to be run whether the promise was
fulfilled successfully or rejected.
This lets you avoid duplicating code in both the promise’s then()
and
catch()
handlers.
Methods from Deref<Target = Object>
pub fn constructor(&self) -> Function
[src]
The constructor property returns a reference to the Object
constructor
function that created the instance object.
pub fn has_own_property(&self, property: &JsValue) -> bool
[src]
The hasOwnProperty()
method returns a boolean indicating whether the
object has the specified property as its own property (as opposed to
inheriting it).
pub fn is_prototype_of(&self, value: &JsValue) -> bool
[src]
The isPrototypeOf()
method checks if an object exists in another
object’s prototype chain.
pub fn property_is_enumerable(&self, property: &JsValue) -> bool
[src]
The propertyIsEnumerable()
method returns a Boolean indicating
whether the specified property is enumerable.
pub fn to_locale_string(&self) -> JsString
[src]
The toLocaleString()
method returns a string representing the object.
This method is meant to be overridden by derived objects for
locale-specific purposes.
pub fn to_string(&self) -> JsString
[src]
The toString()
method returns a string representing the object.
pub fn value_of(&self) -> Object
[src]
The valueOf()
method returns the primitive value of the
specified object.
Methods from Deref<Target = JsValue>
pub const NULL: JsValue
[src]
pub const UNDEFINED: JsValue
[src]
pub const TRUE: JsValue
[src]
pub const FALSE: JsValue
[src]
pub fn as_f64(&self) -> Option<f64>
[src]
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
.
pub fn is_string(&self) -> bool
[src]
Tests whether this JS value is a JS string.
pub fn as_string(&self) -> Option<String>
[src]
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.
pub fn as_bool(&self) -> Option<bool>
[src]
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
.
pub fn is_null(&self) -> bool
[src]
Tests whether this JS value is null
pub fn is_undefined(&self) -> bool
[src]
Tests whether this JS value is undefined
pub fn is_symbol(&self) -> bool
[src]
Tests whether the type of this JS value is symbol
pub fn is_object(&self) -> bool
[src]
Tests whether typeof self == "object" && self !== null
.
pub fn is_function(&self) -> bool
[src]
Tests whether the type of this JS value is function
.
pub fn is_truthy(&self) -> bool
[src]
Tests whether the value is “truthy”.
pub fn is_falsy(&self) -> bool
[src]
Tests whether the value is “falsy”.
Trait Implementations
impl AsRef<JsValue> for Promise
[src]
impl AsRef<Object> for Promise
[src]
impl AsRef<Promise> for Promise
[src]
impl Clone for Promise
[src]
impl Debug for Promise
[src]
impl Deref for Promise
[src]
impl From<JsValue> for Promise
[src]
impl From<Promise> for JsValue
[src]
impl From<Promise> for Object
[src]
impl FromWasmAbi for Promise
[src]
type Abi = <JsValue as FromWasmAbi>::Abi
The wasm ABI type that this converts from when coming back out from the ABI boundary. Read more
unsafe fn from_abi(js: Self::Abi) -> Self
[src]
impl IntoWasmAbi for Promise
[src]
type Abi = <JsValue as IntoWasmAbi>::Abi
The wasm ABI type that this converts into when crossing the ABI boundary. Read more
fn into_abi(self) -> Self::Abi
[src]
impl<'a> IntoWasmAbi for &'a Promise
[src]
type Abi = <&'a JsValue as IntoWasmAbi>::Abi
The wasm ABI type that this converts into when crossing the ABI boundary. Read more
fn into_abi(self) -> Self::Abi
[src]
impl JsCast for Promise
[src]
fn instanceof(val: &JsValue) -> bool
[src]
fn unchecked_from_js(val: JsValue) -> Self
[src]
fn unchecked_from_js_ref(val: &JsValue) -> &Self
[src]
pub fn has_type<T>(&self) -> bool where
T: JsCast,
[src]
T: JsCast,
pub fn dyn_into<T>(self) -> Result<T, Self> where
T: JsCast,
[src]
T: JsCast,
pub fn dyn_ref<T>(&self) -> Option<&T> where
T: JsCast,
[src]
T: JsCast,
pub fn unchecked_into<T>(self) -> T where
T: JsCast,
[src]
T: JsCast,
pub fn unchecked_ref<T>(&self) -> &T where
T: JsCast,
[src]
T: JsCast,
pub fn is_instance_of<T>(&self) -> bool where
T: JsCast,
[src]
T: JsCast,
pub fn is_type_of(val: &JsValue) -> bool
[src]
impl OptionFromWasmAbi for Promise
[src]
impl OptionIntoWasmAbi for Promise
[src]
impl<'a> OptionIntoWasmAbi for &'a Promise
[src]
impl RefFromWasmAbi for Promise
[src]
type Abi = <JsValue as RefFromWasmAbi>::Abi
The wasm ABI type references to Self
are recovered from.
type Anchor = ManuallyDrop<Promise>
The type that holds the reference to 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. Read more
unsafe fn ref_from_abi(js: Self::Abi) -> Self::Anchor
[src]
impl WasmDescribe for Promise
[src]
Auto Trait Implementations
impl RefUnwindSafe for Promise
impl !Send for Promise
impl !Sync for Promise
impl Unpin for Promise
impl UnwindSafe for Promise
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ReturnWasmAbi for T where
T: IntoWasmAbi,
[src]
T: IntoWasmAbi,
type Abi = <T as IntoWasmAbi>::Abi
Same as IntoWasmAbi::Abi
pub fn return_abi(self) -> <T as ReturnWasmAbi>::Abi
[src]
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,