2016-11-25 6 views
0

ich ein Anfänger bin und kann es kaum Versprechungen oder Rückrufe verstehen, wie kann ich die Daten unten so mein Home-Server zurückkehren kann Dank für jede HilfeNode Server Rückkehr Versprechen

else if(requests["mode"]==="onlineVideoQuery"){ 
var title = requests["title"].replace(/\+/g," ") 

imdb.get(title).then(function(data) { 
console.log(data) 
//I need to get this data above for response.end(data) 
}); 

response.end("how can I return the data above to this response") 
} 
+0

Können Sie mehr Code posten, um mehr von dem zu sehen, was Sie zu tun versuchen? –

+0

setzen Sie einfach "response.end" in Ihrem Versprechen Callback ('..... dann (Funktion (Daten) {Response.end (Daten))') – drinchev

+0

ist ein Server, wie localhost: 8080 /? Mode = onlineVideoQuery & title = Freunde, ich möchte es mit den Daten antworten – armando

Antwort

0

auf Anfragen antworten Sie den Anruf können Response.End in der then Funktion:

... 
else if (requests["mode"] === "onlineVideoQuery") { 
    var title = requests["title"].replace(/\+/g, " ") 

    imdb.get(title).then(function(data) { 
    response.end(data) 
    }); 
} 

Stellen Sie sicher, Anruf Response.End einmal por Anfrage und Asynchron-Code mit Sync-Code nicht mischen, dass eine race-Bedingung erzeugen könnte.

+0

danke, dummer Fehler die Daten sind JSON, und ich bekam einen Fehler, weil es keine Zeichenfolge war, das ist, warum ich so verwirrt war, danke für Ihre Hilfe – armando

+0

seltsam console.log protokolliert das stringifizierte Objekt, also dachte ich, die Daten wären eine Zeichenkette, aber es war ein Objekt, ich dachte, das Loggen eines Objekts würde [Objekt] zurückgeben, lernte etwas, das ich – armando

+0

Sie müssen explizit JSON.stringify (Daten). 'console.log' verwendet' util.format' zum Anzeigen von Daten und kann davon abweichen. – Dario

Verwandte Themen