函数connect()的文档表示它将返回一个未来。
此方法将创建一个新的TCP套接字,并尝试将其连接到提供的addr。一旦流成功连接,返回的未来将被解析,或者如果发生错误,它将返回一个错误。
从它的签名pub async fn connect<A: ToSocketAddrs>(addrs: A) -> io::Result<TcpStream>中,返回值的类型为std::io::let mut socket = async_std::net::TcpStream::connect((host, port)).await?;,可以与“等待”语法(如let mut socket = async_std::net::TcpStream::connect((host, port)).await?;)一起使用。
但是我找不到std::io::Result类型的未来特性实现。我的问题是:
发布于 2022-08-08 09:24:30
函数签名中的async关键字意味着函数返回一个Future。这两个函数签名具有相同的声明返回类型:
async fn foo() -> T { ... }
fn foo() -> impl Future<Output=T> { ... }可以将此返回类型转换应用于任何标记为async的函数。
https://stackoverflow.com/questions/73275393
复制相似问题