(できれば) Scalaz Zio に関する簡単な質問です。
Zio にリファクタリングした古いコードがいくつかあります。そのコードの 1 つのパスが、以前とまったく同じように動作し続けるようにします。
- 同期
- ブロッキング
- 現在のスレッド (これは厳しい要件です)
IO
古いブロッキング コードのように動作するように実行するにはどうすればよいですか?
私は現在使用しています:
private lazy val blockingRts = new RTS {}
def runBlocking[E, A](io: IO[E, A]): Either[E, A] = {
blockingRts.unsafeRun(io.attempt)
}
トリックをしているように見えますが、これが正しいとは確信が持てません。これは古いコードと 100% 後方互換性がありますか?