Вся идея реактивного программирования состоит в том, чтобы изменить метод обработки элементов с pull на pu. sh.
Это означает, что вы можете обрабатывать полученные элементы один за другим.
Представьте себе Ситуация, когда ваши товары прибывают с задержкой в потоке 3 se c и временем обработки, в вашей заявке на полученный товар будет 2 se c. Если поток будет содержать около 20 элементов, вы ждете 60 сек c для всех данных (20 элементов), а затем вам нужно подождать еще 40 сек c для элементов, которые будут обработаны.
С реактивным подход, вы можете использовать их один за другим, и в результате ваша обработка будет завершена через 60 секунд c.
Примером жизни для частичной обработки результатов может быть какой-то API, который имеет ограничения - может возвращать максимум 2000 записи (Salesforce - это платформа с этим ограничением). Так что, если вы хотите получить все эти записи - например. 50 000 - нужно 25 раз вызвать rest API. У этой службы может быть задержка в сети + время запроса, поэтому было бы полезно обработать ее частично.
ВАЖНО!
block()
- неправильный способ работы с Reactor API
см .: Как получить String из Mono в реактивном java