Satyam Agarwal
08/06/2019, 7:20 PMdirect imperative syntax
(which i am not leveraging here) from a function with returning type IO if I execute my IOs in fx ?
for example :
import <http://arrow.fx.IO|arrow.fx.IO>
import arrow.fx.extensions.fx
fun someFun(): IO<Unit> = IO { println("hey") }
fun anotherFun(): IO<Unit> = IO { println("hey again") }
fun main() {
someFun().followedBy(anotherFun()).unsafeRunSync()
}
fun mainMain() {
IO
.fx {
someFun().followedBy(anotherFun()).bind()
}
.unsafeRunSync()
}
main()
mainMain()
pakoito
08/06/2019, 8:16 PMpakoito
08/06/2019, 8:16 PMeffect
. Parallelize with parMapN
. Race IOs with raceN
. Change threads with continueOn
. Await IOs with prefix !
inside fx
, and suspended
inside a suspend functionpakoito
08/06/2019, 8:16 PMpakoito
08/06/2019, 8:17 PMpakoito
08/06/2019, 8:17 PMsomeFun
should be suspend
unless you have to do any of the things abovepakoito
08/06/2019, 8:17 PMsomeFun
in another thread, then you use IOpakoito
08/06/2019, 8:18 PMSatyam Agarwal
08/06/2019, 8:51 PM