78个版本
0.4.43 | 2024年8月12日 |
---|---|
0.4.42 | 2024年3月4日 |
0.4.41 | 2024年2月6日 |
0.4.39 | 2023年11月27日 |
0.3.5 | 2018年11月12日 |
#95 in 异步
3,572,729 每月下载量
用于 17,461 个crate(782个直接使用)
2.5MB
42K SLoC
wasm-bindgen-futures
此crate在Rust Future
和JavaScript Promise
之间建立桥梁。它提供两种转换:
- 从JavaScript
Promise
转换为RustFuture
。 - 从Rust
Future
转换为JavaScriptPromise
。
此外,在futures-core-03-stream
特性标志下,提供了对AsyncIterator
到Stream
转换的实验性支持。
有关更多信息,请参阅API文档。
lib.rs
:
在JavaScript Promise
和Rust Future
之间进行转换。
此crate提供了一个桥梁,用于将JavaScript Promise
类型作为Rust Future
使用,并且还包含将Rust Future
转换为JavaScript Promise
的实用工具。这对于在Rust(wasm)中处理异步或其他阻塞工作很有用,并提供了与JavaScript事件和JavaScript I/O原语交互的能力。
此crate目前有三个主要接口:
-
一个使用
Promise
构建的类型,可以用作Future<Output = Result<JsValue, JsValue>>
。此Rust future将使用从Promise
中出来的值进行解析或拒绝。 -
将Rust的
Future<Output = Result<JsValue, JsValue>>
转换为JavaScript的Promise
。未来的结果将转换为JavaScript中的已解决或拒绝的Promise
。 -
在当前线程上生成一个
Future<Output = ()>
。这是在Rust中运行Future
而不将其发送到JavaScript的最佳方式。
这三项应该提供足够的桥梁来实现两个系统的互操作性,并确保Rust/JavaScript可以异步和I/O工作协同。
依赖关系
~0.6–1.2MB
~25K SLoC