Beendigungshandler und Rückgabewerte

8

Ich möchte eine Methode aufrufen, die einen Wert von ihrem Beendigungshandler zurückgibt. Die Methode führt asynchron aus und ich möchte keinen Wert zurückgeben, bevor der gesamte Text der Methode ausgeführt wurde. Hier ist ein fehlerhafter Code, um zu veranschaulichen, was ich erreichen möchte:

%Vor%

Ich möchte nicht, dass die Methode getCurrentClient einen Wert zurückgibt, bis die NXOAuth2Request beendet ist. Ich kann den aktuellen Client auch nicht innerhalb des Antworthandlers der Anfrage zurückgeben. Also, was sind meine Optionen?

    
Robert Audi 27.04.2013, 17:04
quelle

1 Antwort

19

Sie müssen getCurrentClient ändern, um einen Abschlussblock aufzunehmen, anstatt einen Wert zurückzugeben.

Zum Beispiel:

%Vor%

Es ist wichtig daran zu denken, dass getCurrentClient sofort zurückkehrt, während die Netzwerkanforderung an einen anderen Thread gesendet wird. Vergessen Sie nicht, dass Ihr Handler auf dem Hauptthread ausgeführt werden muss, wenn Sie die Benutzeroberfläche mit dem Antworthandler aktualisieren möchten. .

    
Tim 27.04.2013, 17:07
quelle