use wasm_bindgen::JsValue; use wasm_bindgen_futures::JsFuture; use web_sys::js_sys::Promise; pub trait PromiseRes { fn resolve>(self) -> Result; } impl PromiseRes for Promise { fn resolve>(self) -> Result { resolve_promise(self) } } pub fn resolve_promise>(promise: Promise) -> Result { futures::executor::block_on(async move { JsFuture::from(promise).await.map(Into::into) }) }