simon.vergauwen
08/06/2019, 7:07 PMfollowedBy
over flatMap { _ ->
or bind
.kitttn
08/06/2019, 7:08 PM.bind()
still gives you sequential execution in the .fx { .. }
block, that’s the idea over it, right?simon.vergauwen
08/06/2019, 7:09 PMsimon.vergauwen
08/06/2019, 7:14 PMfx
but a program could look like this.
IO.fx {
val a = !produceA()
val b = !sleep(1.seconds).followedBy(consumeA(a))
b
}
kitttn
08/06/2019, 7:16 PMIO.fx {
val a = !produceA()
!sleep(1.seconds)
val b = !consumeA(a)
b
}
?simon.vergauwen
08/06/2019, 7:16 PMfollowedBy
serves for a different purpose and provides convenient syntax over plain bind
or flatMap
.simon.vergauwen
08/06/2019, 7:17 PMkitttn
08/06/2019, 7:18 PMsimon.vergauwen
08/06/2019, 7:18 PMkitttn
08/06/2019, 7:19 PMsimon.vergauwen
08/06/2019, 7:20 PMfun IO<A>.followedBy(fb: IO<A>): IO<B> = flatMap { fb }
simon.vergauwen
08/06/2019, 7:20 PMbind
is flatMap
with suspension.