gpt4 book ai didi

asynchronous - 如何等待rust中的异步函数调用列表?

转载 作者:行者123 更新时间:2023-12-03 11:48:01 24 4
gpt4 key购买 nike

我有一个rust的async函数列表,我想同时执行,然后等待所有这些函数完成。我现在的工作代码是

 async fn start_consumers(&self) {
for consumer in &self.consumers {
consumer.consume().await;
}
}
由于功能是串行执行的,因此不太准确。我正在寻找类似 join!的东西,但它适用于动态矢量,使用它我应该能够写类似
 async fn start_consumers(&self) {
let mut v = Vec::new();
for consumer in &self.consumers {
consumer.consume();
}
join!(v);
}
现在, join!仅支持元组。我正在寻找替代方案。与JavaScript中的 Promise.all()类似。

最佳答案

我在同一天也问了类似的问题,但就我而言,我用Result包装了一个Future。因此,我不得不使用try_join_all而不是join_all

关于asynchronous - 如何等待rust中的异步函数调用列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63350779/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com