问题描述
我当前正在使用this example进行并行请求。但是,不是返回响应bytes(),而是返回整个响应本身。之所以这样做,是因为我需要访问响应的所有部分,而不仅仅是字节。
问题是,由于某种原因,.buffer_unordered()不再限制请求,并且我的程序因“打开的文件太多”而崩溃。我认为发生这种情况的原因是因为返回响应时我必须删除“ .await”,因为响应类型不允许该属性。
下面是我的代码,任何帮助将不胜感激!
let bodies = stream::iter(url_test)
.map(|url| {
let client = &client;
async move {
let resp = client
.get(&url)
.timeout(Duration::from_secs(3))
.send()
.await;
resp
}
})
.buffer_unordered(parallel_requests);
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)