Rust 从先前完成的流的结果中生成流
在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!
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);