J'utilise une API qui appelle les résultats, mais ne renvoie pas le résultat lui-même. Une fois l'appel effectué, une méthode distincte (un écouteur) est appelée, qui contient le résultat. Voici un exemple de ce que je suis en train de réaliser:Obtenez le résultat d'un appel qui ne renvoie pas le résultat?
public static void main (String[] args) {
Object obj = someMethod();
System.out.println("The object is" + obj + ", wooh!");
}
public void callObject() {
// This is the call that sends a request for the object
}
public void receiveObject(Object object) {
// This is the API method that is invoked with the result (cannot be changed)
}
// What I want to be able to do
public Object someMethod() {
callObject();
// return received object once received, but how?
}
Le callObject() ne renvoie pas un objet, n'initie la récupération de celui-ci. Je veux avoir une méthode qui appelle l'objet, puis le renvoie quand il a été reçu. J'ai examiné les résultats de Callables et de Future, mais je ne suis pas sûr de savoir comment les mettre en œuvre.
Une idée? Merci!
Votre question n'est pas claire. – Perdomoff
Est-ce censé être non-bloquant? Une solution courante consiste à passer un objet [callback] (https://en.wikipedia.org/wiki/Callback_%28computer_programming%29) à la méthode 'callObject'. –
@Perdomoff Je vais faire un montage, ours avec moi. – Anonomoose