Ich habe folgende Code in einer Node.js Anwendung:Abrufen der Status, Körper und Headern von dem Knoten-Libcurl
var curlStatus = "";
var curlBody = "";
var curlHeaders = "";
var curlInfo = curl.on('end', function(statusCode, body, headers){
curlStatus = statusCode;
curlBody = body;
curlHeaders = headers;
//this.close();
return {status: curlStatus, body: curlBody, headers: curlHeaders};
});
curl.on('error', function(){
console.log("CURL ERROR");
});
curl.perform();
einen Haltepunkt auf return {status: curlStatus, body: curlBody, headers: curlHeaders};
Platzierung zeigt, dass die body
, headers
und statusCode
werden erfolgreich besiedelt. Ein Setzen eines Haltepunkts nach curl.perform()
zeigt jedoch, dass die Variablen curlStatus
, curlBody
und curlHeaders
immer noch leere Zeichenfolgen sind. Wie gebe ich die Informationen an die Elternfunktion weiter?
Die Ausführung in Javascript ist nicht im Wesentlichen sequenziell (besser so zu denken), die Callback-Funktion in 'curl.on ('end')' übergeben wird zu einem viel späteren Zeitpunkt nach 'curl.perform' ausgeführt. Ein Breakpoint direkt nach 'curl.perform()' zeigt also nichts. – zeronone