23得票3回答
如何使用tokio::join同时运行多个任务?

假设有一个存储在 Vec 中的未来(future),其长度由运行时决定,你需要并发地加入这些未来,那么该怎么做呢? 显然,根据tokio::join文档中的示例,手动指定Vec的每个可能的长度,如1、2、3等,并处理好相应情况即可。extern crate tokio; let v = Ve...

60得票2回答
如何使用reqwest执行并行异步HTTP GET请求?

异步示例很有用,但对于 Rust 和 Tokio 新手来说,我很难弄清楚如何同时进行 N 个请求,使用一个 URL 向量,并创建每个 URL 的响应 HTML 字符串的迭代器。如何实现呢?

8得票2回答
Tokio异步等待与特性

我希望在一个特质中编写异步函数,但由于尚未支持特质中的async fn,因此我正在尝试找到等效的方法接口。这是我在 Rust nightly(2019-01-01)中尝试的代码: playground #![feature(await_macro, async_await, future...

8得票1回答
将AsyncRead转换为字节的TryStream的最佳方法是什么?

我有一个AsyncRead对象,想使用tokio 0.2和futures 0.3将其转换为Stream<Item = tokio::io::Result<Bytes>>。 目前我能做到的最好方式如下: use bytes::Bytes; // 0.4.12 use ...

7得票1回答
如何解决“thread 'main' panicked at 'no current reactor'”错误?

我正在尝试连接数据库: extern crate tokio; // 0.2.6, features = ["full"] extern crate tokio_postgres; // 0.5.1 use futures::executor; use tokio_postgres::No...

7得票1回答
使用Rust futures运行异步可变操作

我正在使用tokio-rs构建一个Rust服务,并且到目前为止,我对这个技术栈感到满意。现在,我正在尝试链接包含写操作的异步操作,并且在借用检查器方面遇到了困难。 我的简化的最小代码示例如下: extern crate futures; // 0.1.21 use futures::Fu...

7得票1回答
调用两个异步接收器的select函数,我会错过某个值吗?

如果一个任务发送到a,而另一个任务(同时)发送到b,那么在使用tokio::select!选择器时,是否会通过取消剩余的未来任务而丢失其中一个值?或者保证在下一个循环迭代中收到该值? use tokio::sync::mpsc::Receiver; async fn foo(mut a: ...

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

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

8得票2回答
如何在Rust中使用hyper、tokio和futures设置HTTP请求的超时时间?

如何在使用异步Hyper(>=0.11)时为HTTP请求设置超时时间? 以下为没有超时时间的代码示例: extern crate hyper; extern crate tokio_core; extern crate futures; use futures::Future; u...

19得票2回答
如何使用Tokio在每个固定时间间隔内触发一个函数?

在 Node.js 中,我可以设置某个事件触发的时间间隔,function intervalFunc() { console.log('whelp, triggered again!'); } setInterval(intervalFunc, 1500); 不过,Tokio的inter...