async-stream+anyhowisnotSend
创始人
2024-09-21 00:01:25
0

这个问题可能会出现在使用异步流和anyhow库时。在Rust中,Send trait用于确保类型可以安全地在不同线程之间转移所有权。由于async-stream和anyhow库没有实现Send trait,因此会出现“async-stream + anyhow is not Send”错误。

解决方法是在实现异步流时使用tokio::spawn或async_std::task::spawn函数来运行异步任务,以确保任何错误都是在异步任务的上下文中捕获并处理。示例代码如下:

使用tokio实现异步流:

use tokio::{stream::Stream, task};

async fn my_stream() -> impl Stream> {
    // ... implementation of the stream ...
}

#[tokio::main]
async fn main() -> Result<(), anyhow::Error> {
    let stream = my_stream();
    let handle = tokio::task::spawn(async move {
        stream.for_each(|item| async move {
            match item {
                Ok(item) => { /* ... do something ... */ },
                Err(err) => { /* ... handle the error ... */ },
            }
        })
        .await
    });

    handle.await??;
    Ok(())
}

使用async-std实现异步流:

use async_std::{prelude::*, task::spawn};

async fn my_stream() -> impl Stream> {
    // ... implementation of the stream ...
}

fn main() -> Result<(), anyhow::Error> {
    let stream = my_stream();
    let task = spawn(async move {
        stream.for_each(|item| async move {
            match item {
                Ok(item) => { /* ... do something ... */ },
                Err(err) => { /* ... handle the error ... */ },
            }
        })
        .await
    });

    // ... handle the task result ...
    Ok(())
}

相关内容

热门资讯

黑科技了解(红龙扑克)外挂辅助... 黑科技了解(红龙扑克)外挂辅助安装(透视)2025新版总结(好像有挂)1、点击下载安装,红龙扑克插件...
黑科技挂!(aaPoker)透... 黑科技挂!(aaPoker)透明挂辅助软件,(AApoker)起初真的有挂,2025教程(有挂透视)...
黑科技辅助挂(wpk德州)外挂... 黑科技辅助挂(wpk德州)外挂透视辅助器(透视)新2025版(原来存在有挂)1、很好的工具软件,可以...
黑科技肯定!(WPK)透视辅助... 黑科技肯定!(WPK)透视辅助脚本,(WPk)一直是有挂,细节方法(有挂软件);WPk软件透明挂更新...
黑科技智能ai(德州)外挂辅助... 黑科技智能ai(德州)外挂辅助教程(透视)新2025版(果然是真的有挂)1.德州 ai辅助创建新账号...
黑科技存在!(WEPoke)软... 黑科技存在!(WEPoke)软件透明挂,(wepOke)一直是真的有挂,技巧教程(有挂技巧);玩家必...
黑科技好友房(wepoker)... 黑科技好友房(wepoker)黑科技透明挂辅助方法(透视)攻略教程(总是是真的有挂)1、许多玩家不知...
黑科技工具!(AAPOKeR)... 黑科技工具!(AAPOKeR)透明挂辅助神器,(aapoker)好像是真的有挂,科技教程(有挂方法)...
黑科技私人局(WePoKer)... 黑科技私人局(WePoKer)黑科技透明挂辅助器(透视)切实教程(总是真的是有挂)该软件可以轻松地帮...
黑科技透明挂!(fishpok... 1、黑科技透明挂!(fishpoker)外挂辅助app,(轰趴大菠萝十三水)一贯是真的有挂,必赢方法...