dedlfix: node.js express REST show-function

Beitrag lesen

Tach!

wenn ich im Template jedoch console.log(buildings) rufe, wird auf der konsole ein leeres String angezeigt, was einerseits gut ist, weil ich den gewünschten array einerseits im template aufrufen kann, andererseits schlecht ist, weil er leer ist. Liegt es daran, dass node asynchron ist und wie kann man das umgehen?

Nicht node an sich, sondern in diesem Fall das connection.query(). Das liefert sein Ergebnis erst wenn es die Callback-Funktion aufruft. Alles was von dem Ergebnis abhängig ist, darf erst und muss in diesem Callback stattfinden, oder in davon aufgerufenen Funktionen. Wenn etwas nach dem connection.query() steht, wird das sofort ausgeführt, ohne dass die Query abgearbeitet ist und deren Ergebnis zur Verfügung steht.

dedlfix.