Iteration and Concurrency

类似于同步  方式的Iterator,这里有很多不同的方法可以迭代和处理一个Stream中的值。有组合器样式的方法,例如mapfilterfold和他们的有错误就早退的表弟try_maptry_filtertry_fold

不幸,for循环不适用于Streams,但对于命令式代码,while letnext/try_next函数可以这样用:

  1. {{#include ../../examples/05_02_iteration_and_concurrency/src/lib.rs:nexts}}

但是,如果我们一次只处理一个元素,则可能会失去了并发的机会,这毕竟这是我们要编写异步代码的首要原因。要同时处理一个 stream 中的多个 items,请使用for_each_concurrenttry_for_each_concurrent方法:

  1. {{#include ../../examples/05_02_iteration_and_concurrency/src/lib.rs:try_for_each_concurrent}}