Mono.subscribe(使用者,errorConsumer,completeConsumer,subscriptionConsumer)不会调用使用者和completeConsumer?

时间:2017-01-17 17:41:01

标签: java project-reactor

作为主题,Mono.subscribe的第四个变体似乎并未调用成功消费者和完整消费者。它只调用订阅消费者。

以下代码失败

    CountDownLatch latch = new CountDownLatch(3);
    Mono.just(1).subscribe(i -> latch.countDown(), throwable -> {}, latch::countDown, s -> latch.countDown());
    boolean success = latch.await(1, TimeUnit.SECONDS);
    Assert.assertEquals(true, success);

1 个答案:

答案 0 :(得分:0)

这是因为带有subscribe的{​​{1}}版本适合您驾驶最初的Consumer<Subscription>。如果您未在消费者中拨打request订阅,则不会发出任何数据且request(n)无法完成...

这可以按预期工作:

Mono