hernry: node mysql2.query await

Beitrag lesen

Hallo,

um mein "Programm" zu initialisieren muss ich aus einer mysql Datenbank diverse Tabellen lesen. Dies muss ich nacheinander machen, da Werte aus der ersten Tabelle zum suchen für die zweite Tabelle nötig sind.

Wenn ich jetzt den query Aufruf mit callback mache, läuft das Programm weiter ohne das die ersten Daten schon tatsächlich aus der Datenbank gelesen zu wurden.

Ich möchte aber auch nicht alle query-Aufrufe mittels callback verschachteln.

Da es nur zum initialisieren des Hauptprogramms einmalig nötig ist, möchte ich den query-Aufruf so gestalten, das das Programm erst weiter läuft, wenn ich die Daten aus der Datenbank gelesen habe.

aktuell habe ich Aufruf der query-Funktion mittels callback so gelöst.

function read_spsliste(spsname){
    var sql = 'SELECT * FROM spsliste WHERE spsname = ?';

        conn.query(sql, spsname,
            function (err, results, fields) {
            if (err) throw err;
            else 
                console.log(results[0].spsname + ' # ' + results[0].ip + ' # ' + results[0].mpi + ' # ' + results[0].zyclus);
                sps_name =results[0].spsname;
                sps_ip =results[0].ip;
        })
};
Quelltext hier

Gibt es hier andere "query-Aufrufe" die "warten" bis alle Daten aus der Datenbank gelesen wurden, oder kann ich dies "manipulieren" das eine "Wartezeit" abläuft ... ???

Bin node "Greenhorn" ;-)

Danke
 henry