Expand description
Converting between JavaScript Promise
s to Rust Future
s.
This crate provides a bridge for working with JavaScript Promise
types as
a Rust Future
, and similarly contains utilities to turn a rust Future
into a JavaScript Promise
. This can be useful when working with
asynchronous or otherwise blocking work in Rust (wasm), and provides the
ability to interoperate with JavaScript events and JavaScript I/O
primitives.
There are three main interfaces in this crate currently:
-
A type that is constructed with a
Promise
and can then be used as aFuture<Output = Result<JsValue, JsValue>>
. This Rust future will resolve or reject with the value coming out of thePromise
. -
Converts a Rust
Future<Output = Result<JsValue, JsValue>>
into a JavaScriptPromise
. The future’s result will translate to either a resolved or rejectedPromise
in JavaScript. -
Spawns a
Future<Output = ()>
on the current thread. This is the best way to run aFuture
in Rust without sending it to JavaScript.
These three items should provide enough of a bridge to interoperate the two systems and make sure that Rust/JavaScript can work together with asynchronous and I/O work.
Re-exports§
pub use js_sys;
pub use wasm_bindgen;
Modules§
- stream
futures-core-03-stream
Converting JavaScriptAsyncIterator
s to RustStream
s.
Structs§
- A Rust
Future
backed by a JavaScriptPromise
.
Functions§
- Converts a Rust
Future
into a JavaScriptPromise
. - Runs a Rust
Future
on the current thread.