gpt4 book ai didi

rust - 从先前完成的 Stream 的结果中产生一个 Stream

转载 作者:行者123 更新时间:2023-12-03 11:26:10 25 4
gpt4 key购买 nike

在 Rust 中,流产生 Vec<u8> ,我如何使用结果并构建新的 u8 流?

例如一个看起来像这样的流:

let a: Vec<Vec<u8>> = vec![vec![1,2,3], vec![4,5,6]];
let my_stream = futures::stream::iter(a);

我想消费并映射它以结束:

assert_eq!(vec![1,2,3,4,5,6], my_stream.collect::<Vec<_>>().await);

最佳答案

这通常是 flatten 的工作,但它希望流产生其他流。您可以添加 .map(futures::stream::iter) 以使内部向量适应流,或将两者结合到对 flat_map 的调用中:

let my_stream = my_stream.flat_map(futures::stream::iter);

Playground

关于rust - 从先前完成的 Stream 的结果中产生一个 Stream,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63596527/

25 4 0