Mono<MyObj1> mono1 = repository.get(id); // data from reactive mongo
Flux<MyObj2> availabilityInfo = getAvailabilityInfo(); // blocking I/O call
То, чего я пытаюсь добиться, - это итеративная доступность, и мне нужно применить некоторые условия, используя моно данные и вернуть MyObj2 (который содержит delieveryDate и информацию о цене на эту дату).
Я постараюсь объяснить в наивном кодировании, как показано ниже
foreach(MyObj2 obj : availabilityInfo){
if(MyObj1.getX() && obj.getY()){
return or break;
}
}
Я хочу испустить первый элемент из потока, который удовлетворяет критериям - MyObj1.getX() && obj.getY()
, даже если есть другие элементы в потоке, соответствующие критериям. Критерии основаны на ответе от mono, который является реактивным вызовом mongo db, и нескольких фактах от испускаемого элемента потока.