0

我希望能够在折叠 fs2 流时评估每一步。

Stream.iterable[F, Int](List(1, 2, 3, 4, 5))
  .evalFold(0){ case (acc, e) => logger.info(acc + e).as(acc + e) }

你知道这样做的方法吗?你能写一个辅助函数,由函数的组合组成Stream吗?

假设logger.info()Int => F[Unit]

4

1 回答 1

0

我在 fs2 gitter 上得到了答案

  • 我可以使用evalScan(..).last
  • evalFold或者我可以通过实现evalScan并将其调整为仅在最后输出来编写

fs2 API Stream.scan

于 2021-01-04T17:20:20.853 回答