PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Асинхронните заявки към база данни с PostgreSQL в Node не работят

Най-лесният начин за правилно улавяне на стойността на q променлива в затваряне в съвременния JavaScript е да се използва forEach :

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

Ако не уловите стойността, вашият код отразява последната стойност, която q имаше, тъй като функцията за обратно извикване, изпълнена по-късно, в контекста на съдържащата функция.

forEach , чрез използване на функция за обратно извикване изолира и улавя стойността на q така че може да бъде правилно оценено от вътрешното обратно извикване.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Условна CASCADE операция за ограничение на външен ключ?

  2. Не може да се свърже със сървъра:postgresql на ubuntu в подсистемата на windows за linux

  3. Показване на последното дете в React итерация

  4. PostgreSQL:Универсалният INSERT

  5. Как да пренаредите елементите в списъка според даден модел?