#[repr(transparent)]pub struct Promise { /* private fields */ }Expand description
The Promise object represents the eventual completion (or failure) of
an asynchronous operation, and its resulting value.
Implementations
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.
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.
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.
The Promise.reject(reason) method returns a Promise object that is
rejected with the given reason.
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.
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)).
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>
The constructor property returns a reference to the Object constructor
function that created the instance object.
The hasOwnProperty() method returns a boolean indicating whether the
object has the specified property as its own property (as opposed to
inheriting it).
The isPrototypeOf() method checks if an object exists in another
object’s prototype chain.
The propertyIsEnumerable() method returns a Boolean indicating
whether the specified property is enumerable.
The toLocaleString() method returns a string representing the object.
This method is meant to be overridden by derived objects for
locale-specific purposes.
The toString() method returns a string representing the object.
The valueOf() method returns the primitive value of the
specified object.
Methods from Deref<Target = JsValue>
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.
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.
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.
Tests whether this JS value is undefined
Tests whether the type of this JS value is function.
Applies the unary typeof JS operator on a JsValue.
Applies the binary in JS operator on the two JsValues.
Compare two JsValues for equality, using the == operator in JS.
Applies the unary ~ JS operator on a JsValue.
Applies the binary >>> JS operator on the two JsValues.
Applies the binary / JS operator on two JsValues, catching and returning any RangeError thrown.
Applies the binary ** JS operator on the two JsValues.
Applies the binary < JS operator on the two JsValues.
Applies the binary <= JS operator on the two JsValues.
Applies the binary >= JS operator on the two JsValues.
Applies the binary > JS operator on the two JsValues.
Applies the unary + JS operator on a JsValue. Can throw.
Trait Implementations
Performs a dynamic instanceof check to see whether the JsValue
provided is an instance of this type. Read more
Performs a zero-cost unchecked conversion from a JsValue into an
instance of Self Read more
Performs a zero-cost unchecked conversion from a &JsValue into an
instance of &Self. Read more
Test whether this JS value has a type T. Read more
Performs a dynamic cast (checked at runtime) of this value into the
target type T. Read more
Performs a dynamic cast (checked at runtime) of this value into the
target type T. Read more
Performs a zero-cost unchecked cast into the specified type. Read more
Performs a zero-cost unchecked cast into a reference to the specified type. Read more
Test whether this JS value is an instance of the type T. Read more
Performs a dynamic check to see whether the JsValue provided
is a value of this type. Read more
type Abi = <JsValue as RefFromWasmAbi>::Abi
type Abi = <JsValue as RefFromWasmAbi>::Abi
The wasm ABI type references to Self are recovered from.
type Anchor = ManuallyDrop<Promise>
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
Recover a Self::Anchor from Self::Abi. Read more
Auto Trait Implementations
impl RefUnwindSafe for Promise
impl UnwindSafe for Promise
Blanket Implementations
Mutably borrows from an owned value. Read more
type Abi = <T as IntoWasmAbi>::Abi
type Abi = <T as IntoWasmAbi>::Abi
Same as IntoWasmAbi::Abi
Same as IntoWasmAbi::into_abi, except that it may throw and never
return in the case of Err. Read more