Rust 从先前完成的流的结果中生成流

Rust 从先前完成的流的结果中生成流,rust,Rust,在Rust中,如果流产生Vec,我如何使用结果并构建新的u8流 例如,一个流看起来像: let a: Vec<Vec<u8>> = vec![vec![1,2,3], vec![4,5,6]]; let my_stream = futures::stream::iter(a); 让a:Vec=Vec![vec![1,2,3],vec![4,5,6]; 让my_stream=futures::stream::iter(a); 我想消费并将其映射为: assert_eq!

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

例如,一个流看起来像:

let a: Vec<Vec<u8>> = vec![vec![1,2,3], vec![4,5,6]];
let my_stream = futures::stream::iter(a);
让a:Vec=Vec![vec![1,2,3],vec![4,5,6];
让my_stream=futures::stream::iter(a);
我想消费并将其映射为:

assert_eq!(vec![1,2,3,4,5,6], my_stream.collect::<Vec<_>>().await);
assert\u eq!(vec![1,2,3,4,5,6],我的流。收集::()等待);

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

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