2个版本
0.1.0-alpha.2 | 2022年10月6日 |
---|---|
0.1.0-alpha.1 | 2022年10月5日 |
#852 in 异步
9KB
117 行
Rio运行时
代码示例
这是一个非常简单的示例,仅用于展示如何使用Rio API
#![feature(async_fn_in_trait)]
#![feature(associated_type_defaults)]
use log::{debug, info};
use rio_rt::runitime as rio;
use surf;
pub(crate) mod extractor;
mod github;
use extractor::Extractor;
async fn run(extractor: &impl extractor::Extractor<Output = String>) -> Result<(), surf::Error> {
let content = extractor.search_new().await?;
info!("{}", content);
Ok(())
}
fn main() {
env_logger::init();
debug!("Here we go, we are all good");
rio::block_on(async {
let github = github::GithubExtractor::new();
run(&github).await.unwrap()
});
rio::wait();
}
lib.rs
:
一个玩具库,用于实现Rust的异步库!
此代码在很大程度上基于https://github.com/mgattozzi/whorl,但有一个不同的目标,即提供一个供人们使用的玩具库,以便与玩具程序一起使用。
此外,用户可以通过此crate学习更多关于异步编程的知识,因为有很多东西要学,也有很多东西可以贡献。
依赖关系
~87KB