Я знаю, что есть, вероятно, несколько способов сделать это, просто ищу наиболее эффективный и краткий способ идти об этом:Java Асинхронный Invoke в методе Ожидание возвращения
public Object giveMeNewObject() {
final Object result = null;
SomeApiClient.start(new Callback() { // starts an async process
@Override
public void onSuccess(Object somethingNew) {
result = somethingNew; //ERROR; can't set cause final
}
});
return result; //result is null, cause Async already finished
}
Итак, в чем вопрос? – Antoniossss
Почему вы запускаете асинхронный процесс, если хотите вернуть вычисленное значение? Вызывающему нужно будет ждать в любом случае. Похоже, вы хотите вернуть «Будущее» значение, вызывающий делает то, что он хочет с ним? – Tunaki
результат должен быть объявлен окончательным для использования внутри объекта обратного вызова; так как я могу установить результат? – nuebKitsune