< 返回版块

sunnyregion 发表于 2021-08-25 13:21

async fn save_file(mut payload: Multipart) -> Result<HttpResponse, actix_web::Error> {
……
……
 let p= do_grpc(file_data.clone()).boxed_local().await;
 println!("*********************{:?}",p);
}


async fn do_grpc(  file_data:Vec<u8>) -> Result<tonic::Response<mask_wear::MaskResponse>, Box<dyn std::error::Error+ 'static>>{
    let mut client = MaskWearClient::connect("http://127.0.0.1:32713").await?;
    let request = tonic::Request::new(MaskRequest {
        image_bytes: file_data.into(),
        use_image_from_url: false,
        image_url: "url".to_string().into(),
    });
    let response = client.maskwear(request).await?;
    println!("RESPONSE={:?}", response);
    Ok(response)
}

评论区

写评论
作者 sunnyregion 2021-08-26 11:24

actix-web已经半死不活了,和tokio1兼容的新版本始终出不来(就算出来和其它生态结合也有问题,因为用得单线程runtime)

--
👇
bzeuy: 这两个库的 tokio 版本不一致

bzeuy 2021-08-25 15:51

这两个库的 tokio 版本不一致

作者 sunnyregion 2021-08-25 14:26

https://rustcc.cn/article?id=dda11b5a-6083-4917-ba1c-c0a7e301af32

难道我遇到了这个问题?

作者 sunnyregion 2021-08-25 13:21

错误提示如下:

thread 'actix-rt:worker:1' panicked at 'there is no reactor running, must be called from the context of a Tokio 1.x runtime', ~/.cargo/registry/src/mirrors.sjtug.sjtu.edu.cn-7a04d2510079875b/tokio-1.10.0/src/runtime/context.rs:18:26

1 共 4 条评论, 1 页