1 个不稳定版本
0.1.0 | 2019年11月8日 |
---|
#1179 in WebAssembly
27KB
462 代码行
Rust crate,用于使用和操作 JS Promise 对象,使用 stdweb。
包含两种主要类型
RawPromise
,一个 JS Promise 的轻量级包装器。这些与原始的stdweb::Value
一起工作。它提供 Rust 方法来连接 Promise 和 Rust 函数,处理清理。Promise<TOk, TErr>
,一个功能更强大的包装器,可以发送任意的 Rust 类型。
lib.rs
:
使用 Rust 代码处理 JavaScript Promise 的库。
此 crate 包含两种主要类型:RawPromise
,它是 JS Promise 类型的一个薄包装器,以及 Promise
,它帮助使用 Rust 类型处理 Promise。
当前所有连接 Promise 的方法都转换为 then
调用,即使结果可以立即获得。因此,在一个 then
调用中完成尽可能多的同步工作将比多个 then
调用稍微高效一些。
在 Promise 回调中,如果发生 panic 或 JS 错误,库将通过 console.error
打印错误,并从 Promise 返回 null
。
与 stdweb promises 的比较
- 截至编写时,stdweb promises 需要一个功能才能访问,且是不稳定的。这个... 也是不稳定的,但不是在功能之后锁定。
- stdweb promises 尝试与 futures API 兼容,但并不很好地映射到 JS promises 和回调的工作方式。此 crate 暴露了一个与 JS promises API 相似的 API。
依赖关系
~3MB
~69K SLoC