Так что я просто экспериментирую в Play и хочу посмотреть, смогу ли я использовать функцию обещания для возврата String.
В этом примере я пытаюсь получить UserFirstName и получить значение play.libs.F$Promise@65722df2.
public static String retrieveUserFirstName(String ch, Service Service,
SessionContext SessionContext, String aN) {
return Service.getInformation(UteContextArgs.getProcessingContext(),
SessionContext, aN, ch)
.filter(info -> info instanceof Information)
.filter(info -> Constants.ch.equalsIgnoreCase(ch))
.map(info -> {
Information information = (Information) info;
return information.getFirstName();
}).toString();
}
public void trySomething (){
String userFirstName = retrieveUserFirstName(ch, Service,
SessionContext, aN);
logger.info (context, "here is the userfirstname={}", userFirstName);
}
public F.Promise<Information> getInformation(...) {
...
}
Во время выполнения, если я все равно пытаюсь манипулировать переменной как строкой, я получаю «исключение нулевого указателя».
В журналах показано:
here is the userfirstname=play.libs.F$Promise@ca3706e