我正在玩wasm-bindgen
(https://github.com/rustwasm/wasm-bindgen),只是出于好奇。
在玩Navigator
(web_sys
crate)时,我偶然发现了这种方法:
https://docs.rs/web-sys/0.3.36/web_sys/struct.MediaDevices.html#method.enumerate_devices
它返回一个Result<Promise, JsValue>
..now,我是Rust的新手,我的问题是我该如何获取the的值Promise
?
Closure::wrap
运作方式如何?如何与then方法一起使用以获取结果?
我想知道是否有人会这样向我解释如何与Promise交往
这是一个返回a的示例Promise
:
let window = web_sys::window().expect("no global `window` exists");
let navigator = window.navigator();
if let Ok(devs) = navigator.media_devices() {
if let Ok(prom) = devs.enumerate_devices() {
//..??? how to list all devices
}
}
祝一切顺利,卢卡
简而言之,您可以wasm_bindgen_futures::JsFuture::from(promise).await?
用来检索Promise的结果并继续使用常规的Rustasync
功能。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句