我正在使用chttp 0.5.0-alpha.1
每晚加息的期货。我的客户端基本上包装了chttp::Client
,并且是inner
在结构上。
我正尝试通过以下方式进行请求
pub fn get(&self, uri: Url) -> impl Future<Output = Result<Response<Body>, Errors>> {
self.inner
.get_async(uri.to_string())
.map_err(|e| Errors::ResponseError(e.to_string()))
}
为进一步扩展,self.inner
是chttp::Client的实例,而chttp
的板条箱是版本0.5.0-alpha.1
。我正在客户端上调用get_async方法。
但是出现了这个错误
cannot infer an appropriate lifetime
Note: ...can't outlive the anonymous lifetime #1 defined on the method body at 48:5
Help: you can add a constraint to the return type to make it last less than `'static` and match the anonymous lifetime #1 defined on the method body at 48:5
我能够通过给impl Future<...>
赋予匿名生存期:impl Future<Output = Result<Response<Body>, Errors>> + '_
来解决此问题。
为什么指定匿名生存期可以解决此问题?