wasm-bindgen-futures
This crate bridges the gap between Rust Futures and JavaScript Promises.
As of this version the implementation lives in js-sys under the futures
feature. Depending on this crate automatically activates that feature, which
gives js_sys::Promise a first-class IntoFuture implementation — meaning
you can .await any Promise directly:
use js_sys::Promise;
use wasm_bindgen::prelude::*;
async fn example(promise: Promise) -> Result<JsValue, JsValue> {
promise.await
}
All public items from the previous API are re-exported unchanged for backwards compatibility:
JsFuture— convert aPromiseinto a namedFuturetypespawn_local— run aFuture<Output = ()>on the JS microtask queuefuture_to_promise— convert aFutureinto a JSPromisefuture_to_promise_typed— typed variant offuture_to_promise
Under the feature flag futures-core-03-stream there is support for
AsyncIterator to Stream conversion via JsStream.
See the API documentation for more info.