我正在尝试向一个数据库处理程序发送一条消息,并根据结果向第二个处理程序发送一条消息,或者从第一个处理程序返回一个错误。
到目前为止,我想出的方法行不通;锈蚀 说match arms have incompatible types
expected struct 'futures::future::and_then::AndThen', found enum 'std::result::Result'
state
.db
.send(...)
.from_err()
.and_then(|res| match res {
Ok(response) => {
// Do some additional logic here
state
.db
.send(...)
.from_err()
.and_then(|res| match res {
Ok(response) => Ok(HttpResponse::Ok().json(response)),
Err(err) => Ok(HttpResponse::InternalServerError().body(err.to_string()))
})
},
Err(err) => Ok(HttpResponse::InternalServerError().body(err.to_string()))
})
.responder()
质疑如何在 actix-web 中完成此操作?