2个不稳定版本
使用旧Rust 2015
0.2.0 | 2016年3月28日 |
---|---|
0.1.0 | 2016年3月28日 |
在 异步 中排名第1280
13KB
220行(不包括注释)
rust-promises
这个库旨在在Rust中完整、有效且简单地重现轻量级JavaScript风格的Promise。
rust-promises
提供了Ecmascript 6 Promise的所有功能,以及一些来自Rust的Result<T, E>
的方法,这些方法使用std::thread
API和Rust的异步Sender
和Receiver
实现。
示例
待办事项(在向Promise
添加一些Result
方法之后)。
为什么?
Promise是异步编程的一个优秀构建块。它们是构建异步库的绝佳方式,也是现有代码的一个小型依赖。
JavaScript的Promise是从一种名为E的编程语言中的Promise改编而来,E语言使用消息传递拥有一个非常强大的分布式计算架构。
Rust的std::sync::mpsc::{Sender, Receiver}
提供了一种从Rust的安全线程系统中构建此类架构(以及Promise)的方式。
哦,又一个Promise库
目前crates.io上有5个异步库提供Promise或Future。然而,它们都存在问题
它们都处于beta和不稳定状态,版本小于0.5(就像这个库现在一样...)- 其中一些是更大的异步库。它们需要你在事件循环中进行编程,或者是为特定场景设计的。如果你想使用一个全功能的异步库来处理特定类型的编程,就去使用那些。
- 其余的都是Promise概念的变体,即从
Promise::new()
返回一个(Future, Promise)
对。如果你知道如何使用它,就去那些库吧,我想。