public class Ussd {
private static Logger logger = LogManager.getLogger(Ussd.class);
private static String query;
public static void ussdMessages(RoutingContext routingContext){
String codeService = routingContext.getBodyAsJson().getString("codeService");
query=getServiceQuery(codeService);
System.out.println("Query : "+query);
}
public static String getServiceQuery(String codeService){
JsonObject params = new JsonObject();
params.put("QUERY", Queries.DB_SELECT_SERVICE_QUERY);
params.put("PARAMS", new JsonArray().add(codeService));
System.out.println(params);
DB.select(params, res -> {
if (res.succeeded()) {
query = res.result().getJsonArray("results").getJsonArray(0).getString(0);
System.out.println(query);
} else {
query = res.cause().getMessage();
}
});
return query;
}
}
Метод getServiceQuery
возвращает мой точный результат, и я помещаю его в статический запрос, но после вызова метода внутри метода ussdMesages
он возвращает null с первого запроса, используя Postman. Для второго запроса он возвращает правильный результат. Я не знаю почему.Почему я не смог получить результат от первого запроса vert.x?
спасибо большое @Niraj за ваш идеальный ответ :) – OLH
как я могу запасти будущий результат в JsonObject? – OLH
thanks @niraj Я использовал 'CompositeFuture' для координации' фьючерсов' – OLH