rust - 返回 deadpool_postgres::Client 的函数改为返回 Future
问题描述
我无法理解此代码和引发的错误。
use deadpool_postgres::{ Config, pool, Client };
use tokio_postgres::NoTls;
pub struct Postgres {
pool: Pool
}
impl Postgres {
pub fn new() -> Postgres {
let mut cfg = Config::new();
cfg.dbname = Some("deadpool".to_string());
cfg.manager = Some(ManagerConfig { recycling_method: RecyclingMethod::Fast });
let pool = cfg.create_pool(NoTls).unwrap();
return Postgres {
pool: pool
};
}
pub async fn get_client(&self) -> Client {
if let Ok(client) = self.pool.get().await {
return Some(client);
} else {
return None;
}
}
}
async fn main() {
let pg = Postgres::new();
let mut client = pg.get_client();
let stmt = client.prepare_cached("select 1").await;
}
deadpool_postgres 和 IDE 的文档告诉我,我在 client 变量中获取了一个 Client 对象,但下一行告诉我它是impl std:future::Future
一个
no method named `prepare_cached` found for opaque type `impl std::future::Future` in the current scope
我该如何解决这个问题?
解决方案
推荐阅读
- arduino - 了解 Radiohead RH_RF95::send() 方法的 LEN 参数
- google-cloud-dataflow - 如何在 Dataflow 中进行这种类型的测试(在 twitter 上称为功能测试)?
- c# - Unity - 网格生成和平铺邻居,我如何阅读它们?
- http - 为什么我会得到带有 404 状态码的 net::ERR_HTTP_RESPONSE_CODE_FAILURE
- mpi - 运行 Linpack 时出错
- python - 向数据框列添加值
- r - R按ID计算三列的模式
- go - 检查 Go 类型是否隐藏/实现嵌入式类型接口的一项功能
- python - 尽管裁剪图像清晰,但正方体输出错误
- python - 如何将dict键与值的总和合并?