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