sql >> Base de Datos >  >> RDS >> PostgreSQL

Regresar en pg-promise

Ese código tiene dos problemas al mismo tiempo:

  • uso de promesa no válido, cuando está dentro de .catch haces return result , no es así como se manejan los rechazos de promesas, debe proporcionar el manejo de errores o volver a generar/rechazar el error.
  • uso no válido de pg-promise biblioteca. Usas el método one se supone que se debe rechazar cuando se devuelve algo que no sea 1 registro, según la documentación del método , y al mismo tiempo dices I need to catch if it returns more than one row... , lo cual es una contradicción lógica.

El resultado es el siguiente:su consulta se ejecuta con éxito y devuelve más de un registro, lo que a su vez hace que el método uno rechazar, y luego toma el motivo del rechazo y lo convierte en uno resuelto haciendo return result . En total, su código está roto por todas partes.

Primero, con pg-promise se supone que debe usar el método correcto, de acuerdo con la cantidad de registros que espera obtener, consulte Conceptos básicos .

Y luego manejar .then/.catch de acuerdo con su lógica de negocios. No puedo ser más específico aquí, porque no proporcionaste más detalles al respecto.