我有这个功能:
async fn get_events(r: RequestBuilder) -> Result<Vec<RepoEvent>, reqwest::Error> {
Ok(r.send().await?.json::<Vec<RepoEvent>>().await?)
}
我想存储一个Vec
期货并等待它们:
let mut events = vec![];
for i in 1..=x {
let req: RequestBuilder = client.get(&format!("https://example.com/api?page={}", i));
events.append(get_events(req));
}
try_join_all(events).await.unwrap();
我得到一个E0308: expected mutable reference, found opaque type
.
应该是什么类型events
?
我可以通过推断类型来解决这个问题:
let events = (1..=x).map(|i| {
let req: RequestBuilder = client.get(&format!("https://example.com/api?page={}", i));
get_events(req);
});
但我真的很想知道如何将期货存储在向量中。