gpt4 book ai didi

rust - "Error E0477: the type does not fulfill the required lifetime"与 Actix-Web 处理程序

转载 作者:行者123 更新时间:2023-11-29 08:26:59 25 4
gpt4 key购买 nike

我正在尝试使用 Actix-Web 实现 HTTP 请求处理程序。这是我的代码的相关部分:

impl<S> Handler<S> for FooBarHandler {
type Result = Box<Future<Item = HttpResponse, Error = Error>>;

fn handle(&mut self, req : HttpRequest<S>) -> Self::Result {
req.json().from_err().and_then(|foo : Foo|
self.baz.qux(foo);
Ok(HttpResponse::Ok().finish())
}).responder()
}
}

但是,我收到此错误消息:

error[E0477]: the type  `mymod::futures::AndThen<mymod::futures::future::FromErr<mymod::actix_web::dev::JsonBody<mymod::actix_web::HttpRequest<S>, mymod::Foo>, mymod::actix_web::Error>, std::result::Result<mymod::actix_web::HttpResponse, mymod::actix_web::Error>, [closure@src/mymod.rs:53:40: 56:10 self:&&mut mymod::FooBarHandler]>` does not fulfill the required lifetime
--> src/mymod.rs:56:12
|
56 | }).responder()
| ^^^^^^^^^
|
= note: type must satisfy the static lifetime

我完全不明白这个错误信息。该代码实际上与 this example 相同,其中不包含任何生命周期注释。

最佳答案

您在 .and_then future 使用了 self,这违反了生命周期要求。

关于rust - "Error E0477: the type does not fulfill the required lifetime"与 Actix-Web 处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50165750/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com