Rolf B: Request Error

Beitrag lesen

Hallo hmm,

das kommt davon, wenn der Berater nur Ahnung vom Tuten hat, aber nicht vom Blasen 😏. Also hab ich jetzt übungsweise ein paar Luftballons aufgepustet und herausgefunden, dass Du scheinbar node-sqlite3 von mapbox benutzt. Das wusste ich bisher nicht und bin daher von einer seriellen Ausführung ausgegangen.

In deiner Meldung von 12:09, wo .length nicht gefunden wurde, dürfte das Problem am db.run liegen. Der ist für SELECT nicht geeignet weil er keine Result Sets liest. Das macht nur db.all().

Aber ich vermute derzeit, dass das Problem in den Interna deiner Callbackfunktion liegen könnte. Die läuft, wenn der SELECT_USER_MITARBEITER_ID durch ist, aber sie startet drei db.run Aufrufe. Der sqlite-Adapter von mapbox parallelisiert das per Default, und daher könnten sich diese Statements auf den Füßen stehen. Bau es mal so, unter Verwendung der urspünglichen callback-Funktion:

dbLokal.all(statment, function(err, rows) {
   if (rows.length < 1) return;
   dbLokal.serialize(function() {
      callback(rows[0].user_id, rows[0].mitarbeiter_id);
   });
});

Damit werden die SQL-Befehle im Callback nacheinander ausgeführt.

Ich bin jetzt weg, hab Rest des Tages anderweit zu tun - viel Glück.

Rolf

--
Dosen sind silbern