Warp 有这样的范式,
let hi = warp::path("hello")
.and(warp::path::param())
.and(warp::header("user-agent"))
.map(|param: String, agent: String| {
format!("Hello {}, whose agent is {}", param, agent)
});
这些过滤器.map()
允许您使用提取的值(来自先前过滤器的输出)调用闭包。
如果在上面的示例中我想做这样的事情,我该如何在这个范式中操作,
.map(async |param: String, agent: String| {
foo(¶m).await?;
format!("Hello {}, whose agent is {}", ¶m, agent)
});
当我在过滤器的闭包中使用异步函数时,出现.map
此错误,
错误[E0708]:当前不支持带参数的
async
非闭包move
无论如何要warp
与已经异步的库兼容?