sql >> Database teknologi >  >> RDS >> PostgreSQL

Asynkrone databaseforespørgsler med PostgreSQL i Node fungerer ikke

Den enkleste måde at fange værdien af ​​q korrekt variabel i en lukning i moderne JavaScript er at bruge forEach :

queries.forEach(function(q) {
    client.query(q[0], function(err, result) {
      if(err) {
        console.log(err);
      } else {
        q[1](result);
      }
    });
 });

Hvis du ikke fanger værdien, afspejler din kode den sidste værdi, som q havde, som tilbagekaldsfunktionen udført senere, i sammenhæng med den indeholdende funktion.

forEach , ved at bruge en tilbagekaldsfunktion isolerer og fanger værdien af ​​q så det kan evalueres korrekt ved det indre tilbagekald.



  1. Intet backupsæt er valgt til at blive gendannet SQL Server 2012

  2. Strengt automatisk forøgelse af værdi i MySQL

  3. Sådan tilføjer du bare de forskellige værdier med SQLite Sum()

  4. Forespørgsel med flere likes