Ich habe eine Funktion, die wie folgt lautet:Lesen SQL-Abfrageergebnisse in Variable in js
function getNEO(state, callback) {
var conString = "postgres://alexa:[email protected]:5439/alexa";
var client = new pg.Client(conString);
client.connect();
var data = '';
var query = client.query("SELECT avg(Math) as math, avg(Reading) as reading FROM sat_scores WHERE State = '" + state + "'");
console.log("query is: %s", query);
query.on('row', function(row) {
console.log("Row cnt is: %s", row.math);
console.log("row is: " + row)
data += row;
});
console.log("made it");
query.on('end', function() {
callback(data);
});
}
und es dann wie folgt aufrufen:
getNEO(st, function(results){
console.log("results: " + results);
speechOutput = "There are " + results.math + " objects near the earth. ";
callback(sessionAttributes,
buildSpeechletResponse(cardTitle, speechOutput, repromptText, shouldEndSession));
});
aber die Ergebnisse kommen zurück als undefined
. ..wie schreibe ich die Ergebnisse richtig in den Satz zurück?
also ersetze ich 'data + = row' mit' data.push (row); '? – user2061886
Ja, aber ändern Sie die * Daten * Initialisierung wie in meinem Beitrag zuerst. Und versuchen Sie später auf das Array-Element zuzugreifen. –