3个版本 (重大更新)
0.3.0 | 2023年8月27日 |
---|---|
0.2.1 | 2023年9月29日 |
0.2.0 |
|
0.1.0 | 2022年1月10日 |
#93 in 异步
22,278 每月下载量
用于 10 个Crate(7个直接使用)
37KB
539 行
描述
poll-promise
是一个Rust crate,用于轮询并发(例如 async
)操作的结果。这在游戏和即时模式GUI中特别有用,在这些环境中,人们通常希望在启动后台操作后,在每个后续帧上询问“我们到了吗?”直到操作完成。
示例
let promise = poll_promise::Promise::spawn_thread("slow_operation", something_slow);
// Then in the game loop or immediate mode GUI code:
if let Some(result) = promise.ready() {
// Use/show result
} else {
// Show a loading icon
}
如果您启用了 tokio
功能,您可以使用 poll-promise
与 tokio 运行时一起使用。
注意事项
该crate主要用于作为应用中的高级构建块。
该crate提供了启动线程和tokio任务以及等待结果时阻塞的方法。在库中这样做通常是一个坏主意,因为关于执行环境和线程阻塞的决定应该留给应用。因此,我们不推荐在当前状态下将此crate用于库。
另请参阅
以下功能提供了类似的功能
贡献
我们欢迎社区对这个项目做出贡献。
请阅读我们的 贡献指南 了解如何开始。在您做出任何贡献之前,请阅读我们的 贡献条款。
任何有意提交以包含在Embark Studios项目中的贡献,必须符合Rust标准许可模式(MIT OR Apache 2.0),因此将按以下方式双许可,不附加任何额外条款或条件
许可
此贡献根据以下之一双许可
- Apache许可证,版本2.0,(LICENSE-APACHE或http://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可证(LICENSE-MIT或http://opensource.org/licenses/MIT)
由您选择。
为了明确,“您”指的是Embark或任何其他贡献的许可方/用户。
依赖项
~0.2–12MB
~133K SLoC