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 异步

Download history 629448/week @ 2024-05-03 663909/week @ 2024-05-10 692183/week @ 2024-05-17 676959/week @ 2024-05-24 772044/week @ 2024-05-31 752455/week @ 2024-06-07 733046/week @ 2024-06-14 787842/week @ 2024-06-21 726110/week @ 2024-06-28 757416/week @ 2024-07-05 806763/week @ 2024-07-12 837119/week @ 2024-07-19 819982/week @ 2024-07-26 793542/week @ 2024-08-02 896935/week @ 2024-08-09 903512/week @ 2024-08-16

3,572,729 每月下载量
用于 17,461 个crate(782个直接使用)

MIT/Apache

2.5MB
42K SLoC

wasm-bindgen-futures

API文档

此crate在Rust Future和JavaScript Promise之间建立桥梁。它提供两种转换:

  1. 从JavaScript Promise转换为Rust Future
  2. 从Rust Future转换为JavaScript Promise

此外,在futures-core-03-stream特性标志下,提供了对AsyncIteratorStream转换的实验性支持。

有关更多信息,请参阅API文档


lib.rs:

在JavaScript Promise和Rust Future之间进行转换。

此crate提供了一个桥梁,用于将JavaScript Promise类型作为Rust Future使用,并且还包含将Rust Future转换为JavaScript Promise的实用工具。这对于在Rust(wasm)中处理异步或其他阻塞工作很有用,并提供了与JavaScript事件和JavaScript I/O原语交互的能力。

此crate目前有三个主要接口:

  1. JsFuture

    一个使用Promise构建的类型,可以用作Future<Output = Result<JsValue, JsValue>>。此Rust future将使用从Promise中出来的值进行解析或拒绝。

  2. future_to_promise

    将Rust的Future<Output = Result<JsValue, JsValue>>转换为JavaScript的Promise。未来的结果将转换为JavaScript中的已解决或拒绝的Promise

  3. spawn_local

    在当前线程上生成一个Future<Output = ()>。这是在Rust中运行Future而不将其发送到JavaScript的最佳方式。

这三项应该提供足够的桥梁来实现两个系统的互操作性,并确保Rust/JavaScript可以异步和I/O工作协同。

依赖关系

~0.6–1.2MB
~25K SLoC