Hallo Leute,
mit einem „http web request“ spreche ich eine REST API an, diese liefert auch Daten in die aufrufende Funktion. Nur schaffe ich es nicht diese Daten in der aufrufenden Funktion ebenfalls zurückzugeben, die Rückgabe ist undefined. Ich gehe wie folgt vor:
Code
module.exports.getAll = () => {
http.get('http://127.0.0.1:3010/get', (response) => {
console.log("get all called");
var data = '';
response.on('data', (chunk) => {
data += chunk;
});
response.on('end', () => {
/*Die angeforderten Daten kommen bis hier an*/
console.log(data);
return data;
});
});
}
Alles anzeigen
.getAll() rufe ich wie folgt auf:
Code
var dataManager = require('../dataAccess/dataManager');
module.exports = (app) => {
app.get('/data/', (request, response) => {
var allData = [];
allData = dataManager.getAll();
console.log(allData);//hier wird "undifend" ausgegeben.
response.json(allData);
});
};
Alles anzeigen
Kann es sein das ich hier ein Problem mit einer asynchronen Ausführung habe, da „undifend“ als erstes ausgegeben wird? Wie muss ich hier vorgehen?
Vielen Dank schon mal fürs lesen! 😊
Herzliche Grüße
Christoph