Recientemente tuve que actualizar mi versión de node.js para mi aplicación vue.js (node.js en el backend) de v13.5.0 a v14.5.0. Reinstalé todos mis paquetes de nodos, actualicé los que tenía que actualizar, y ahora la aplicación se bloquea en todas las llamadas a la base de datos. Estamos usando pg (node-postgres) para nuestras llamadas a la base de datos. Actualicé pg a la versión 7.18.2.
Nuestro código de inicialización se ve así:
constructor() { this.pg = require('pg'); this.client = null; this.initPromise = null; } async init() { if (!this.initPromise) { this.client = new this.pg.Client({ application_name: 'Back end', ssl: { rejectUnauthorized: false } }); this.initPromise = this.client.connect(); } return this.initPromise; } async query(query, params) { await this.init(); return await this.client.query(query, params); }Puse los registros de la consola alrededor de la llamada a this.init() de la siguiente manera:
console.log('before'); await this.init(); console.log('after');'después' nunca se imprime.
¿Alguien sabe por qué se bloquea ahora que actualicé mi versión de nodo?
Parece que pg v.8.3.0 resuelve este problema. Obtuve v7.18.2 al ejecutar npm install pg. Parece que no siempre instala la última versión. npm install pg@latest hace el truco.
@gib65 actualizar a v.8.3.0 también funcionó para mí, estaba golpeando mi cabeza con await y async. pensé que estaba siendo un n00b otra vez...