15得票2回答
tokio::select! 但针对Future的Vec

我有一个包含多个future的Vec,我想并发地执行它们(但不一定是同时)。基本上,我正在寻找一种类似于tokio::select!的select函数,但接受一个future集合;或者,一种类似于futures::join_all的函数,但在第一个future完成后返回。 另一个要求是,一旦...

15得票1回答
如何在循环中生成异步方法?

我有一个对象向量,其中包含一个 resolve() 方法,该方法使用 reqwest 查询外部 Web API。在对每个对象调用 resolve() 方法后,我想打印出每个请求的结果。 这是我的半异步代码,它可以编译和工作(但实际上并不是完全异步):for mut item in items ...

15得票2回答
futures::select!和tokio::select有什么区别?

我正在使用Tokio,希望能从两个不同的mpsc队列中接收请求。看起来select!是正确的方法,但我不确定futures::select!和tokio::select!之间有什么区别。在什么情况下应该使用其中一个而不是另一个?

15得票1回答
如何使用Tokio远程关闭正在运行的任务

我有一个UDP套接字在接收数据。 pub async fn start() -> Result<(), std::io::Error> { loop { let mut data = vec![0; 1024]; socket.r...

14得票2回答
为什么Tokio会返回错误信息“Cannot drop a runtime in a context where blocking is not allowed”?

我有一个Tokio客户端,用于与远程服务器通讯并应该永久保持连接。我已经实现了初始身份验证握手,并发现当我的测试结束时,会出现奇怪的恐慌:---- test_connect_without_database stdout ---- thread 'test_connect_without_da...

12得票1回答
什么是在tokio任务中传播恐慌的推荐方式?

现在我的panic被忽略了。在我的使用场景中,我希望它能崩溃整个程序,并打印堆栈跟踪信息。应该如何配置?

12得票1回答
从Tokio应用程序中使用Actix:混合actix_web :: main和tokio :: main?

目前,我的主要代码像Reqwest库的异步示例一样编写。 #[tokio::main] async fn main() -> Result<(), Box<dyn std::error::Error>> { 我们可以将那个例子用于这里。现在我想基本上添加一个-l...

11得票2回答
使用TcpConnectionNew时未满足`(): futures::Future`的特性限制

我正在尝试使用Tokio库在Rust中编写一个简单的TCP客户端。我的代码与这个例子非常接近,只是不包含TLS: extern crate futures; extern crate tokio_core; extern crate tokio_io; use futures::Futur...

11得票1回答
tokio::spawn和tokio::task::spawn在Rust中有何区别?

我正在使用 tokio 制作一个能够进行异步操作的 web 服务器。 我通过 tokio::spawn 创建了一个任务,也看到了 tokio::task::spawn 的工作方式。 tokio::spawn 和 tokio::task::spawn 之间有什么区别?

11得票1回答
reqwest::Error { kind: Decode, source: Error("expected value", line: 1, column: 1) }' reqwest::Error { 类型: 解码, 来源: 错误("期望值", 行: 1, 列: 1) }'

我在创建POST请求时遇到了以下错误。我是RUST的新手。 我甚至尝试使用HashMap<String, String>而不是serde_json::Value,但仍然出现相同的问题。如果您能告诉我我的标头是否有误或如何追踪它是否实际上是网络reqwest问题,那会很好。 这是...