#object #asynchronous #arc-mutex

bin asyncinit

在不使用Arc的情况下异步初始化对象

1 个不稳定版本

0.1.0 2020年6月11日

#14 in #arc-mutex

MIT许可协议

6KB
72

async_init

不使用Arc异步初始化对象

#[async_init]
pub async fn get_db_pool() -> Result<MySqlPool, sqlx::Error> {
    println!("thread id is {:?}, create mysql pool", thread::current().id());
    let db_url = env::var("DATABASE_URL").expect("`DATABASE_URL` must be set to run this app");
    let pool:MySqlPool = Pool::new(&db_url).await?;
    Ok(pool)
}

依赖关系

~3.5–5MB
~91K SLoC