0
件名として、Mono.subscribe
の4番目の変種は、成功した消費者と完全な消費者を呼び出すようではありません。サブスクリプションコンシューマを呼び出すだけです。Mono.subscribe(consumer、errorConsumer、completeConsumer、subscriptionConsumer)はconsumerおよびcompleteConsumerを呼び出しませんか?
次のコードは、あなたが最初のrequest
を駆動するためConsumer<Subscription>
と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);
おかげで、しかし、メソッド名はそれが購読していることを示しています。したがって、ユーザーがそこを通過したサブスクリプションを使用して手動でリクエストする必要があるというのは少し誤解を招くことです。 javadocではこれについて何か手がかりを与えません。 – Wins
私は同意する、これは明確にする必要があります。これは、パラメータの説明に記載されています。 "@param subscriptionConsumerサブスクリプションシグナルで呼び出されるコンシューマ、初期サブスクリプション#要求(long)要求に使用されるコンシューマ、 –