При объединении многих Mono<Void>
с использованием .then(Mono<Void>)
они не работают в ожидаемом порядке.
Может ли кто-нибудь объяснить разницу между рабочим и нерабочим кодом ниже?
Работающийкод
StepVerifier.create(
repository.incrementCounter(bucket, timeStamp)
.then(repository.incrementCounter(bucket, timeStamp))
.then(Mono.just(1).flatMap(t -> repository.resetCounter(bucket, timeStamp)))
.then(Mono.just(1).flatMap(t -> repository.getCounter(bucket, timeStamp))))
.expectNext(0L)
.verifyComplete();
нерабочий
StepVerifier.create(
repository.incrementCounter(bucket, timeStamp)
.then(repository.incrementCounter(bucket, timeStamp))
.then(repository.resetCounter(bucket, timeStamp))
.then(repository.getCounter(bucket, timeStamp)))
.expectNext(0L)
.verifyComplete();