首页 > 解决方案 > 将订阅 onError Scala.RX 放入 Observable 是否有害?

问题描述

我正在使用一个rx.lang.scala用于理解的,我想快速失败。parameters如果发生异常,我还希望关闭资源。如果您抛出 Exception / Throwable,doOnTerminate 是否会正确执行,如下面提供的示例所示?

private def createAgreement(parameters: Params, output: ByteArrayOutputStream): Try[Unit] = Try {
output
  .usedIn(AgreementCreator(parameters).createAgreement) //Observable.using(resource)(observableFactory, t => { dispose(t); IOUtils.closeQuietly(t) }, disposeEagerly)
  .doOnTerminate(parameters.close()) //close resource
  .toBlocking
  .subscribe(_ => {},
    e => throw e,
    () => debug("completed"))
}

标签: scalaobservablescala.rx

解决方案


推荐阅读