public Resposne some_function(){
Response resp = null;
try{
resp = Response.ok().type(APPLICATION_ZIP).entity((StreamingOutput) out -> {
//Some code here.
}).header(CONTENT_DISPOSITION_HEADER, "ABC").build();
}catch()
{
}
return resp.
}
Hallo zurück,Lambda wird nicht ausgewertet, bis Funktion
ich eine ähnliche Funktion wie der oben haben. Das an die Entitätsfunktion übergebene Lambda wird erst ausgewertet, wenn die Funktion some_function zurückkehrt. Sieht aus wie Java 8-Funktion. Irgendwelche Hinweise auf was könnte passieren? Gibt es auch eine Möglichkeit, die Evaluierung zu erzwingen? Vielen Dank.
Wann sollte das Lambda bewertet werden? –
Das Lambda ist nur ein Objekt, das an die Entity-Methode übergeben wurde. Wann es ausgewertet wird, hängt davon ab, was die Entity-Methode damit macht. Es gibt keine Möglichkeit (im Allgemeinen), die Ausführung an Ort und Stelle zu erzwingen. Wenn Sie möchten, dass es sofort ausgeführt wird, fügen Sie den Code vor dem Aufruf ein, anstatt ihn als Lambda zu übergeben. – Jesper
Dies wird nicht speziell ausgeführt, wenn die Funktion zurückkehrt, sondern nur von der aufrufenden Funktion ausgeführt wird. – Will