Я использую Kotlin + Reactor (Mono и Flux), и я хочу знать разницу между использованием функции await...()
(от kotlin -кореактив ) и subscribe()
( от реактора). Я привел два примера, чтобы показать, что я пытаюсь сделать.
Пример 1 (с функцией await):
@Test
internal fun test() = runBlockingTest {
Mono.error<String>(IllegalStateException("exception"))
.doOnError {
print("error")
}.awaitFirst().let {
print("success")
}
}
Вывод: "ошибка" с трассировкой стека IllegalStateException .
Пример 2 (с функцией подписки):
@Test
internal fun test() = runBlockingTest {
Mono.error<String>(IllegalStateException("exception"))
.doOnError {
print("error")
}.subscribe {
print("success")
}
}
Вывод: просто «ошибка».
Почему в примере 1 показана трассировка стека и пример 2 не показывает?
Спасибо.