Как я могу правильно перевести этот фрагмент кода в vert.x?
обычно, весной или в простом сервлете с механизмом шаблонов для вывода html-ответа, я сделаю вот так
function test(request, response) {
templatecontext tc = getContext();
init conditions
if (condition1) {
retrieve data from db ({
asyncresult -> {
tc.put("data1", data1)
})
} else if (condition2) {
other code
if (condition 2.1) {
retrieve data from db ({
asyncresult -> {
tc.put("data2", data2)
})
}
}
get other data from db and put in context
template.eval("templatefile", tc)
write to response
}
проблема в том, что получение данных из базы данных является обработчиком asyncresult, поэтому я не могу допустить, чтобы оценка шаблона выполнялась с data1 или data2, потому что извлечение асинхронности без попадания в ад обратного вызова.
Я не совсем понял rxjava2, но чувствую, что пытаюсь убить боб ложкой.