Die code heeft twee problemen tegelijk:
- Ongeldig gebruik van belofte, wanneer binnen
.catch
je doetreturn result
, zo wordt niet met afwijzingen van beloften omgegaan, u moet ofwel de foutafhandeling leveren, of de fout opnieuw weggooien/afwijzen. - ongeldig gebruik van pg-promise
bibliotheek. Je gebruikt methode één
dat wordt verondersteld te weigeren wanneer iets anders dan 1 record wordt geretourneerd, volgens de documentatie van de methode
, en tegelijkertijd zeg je
I need to catch if it returns more than one row...
, wat een logische tegenstrijdigheid is.
Het resultaat hiervan is als volgt:uw query wordt met succes uitgevoerd en retourneert meer dan één record, wat op zijn beurt de methode één
afwijzen, en dan neemt u de reden van de afwijzing en verandert u deze in een opgeloste door return result
. te doen . Al met al wordt je code overal gekraakt.
Ten eerste met pg-promise je wordt verondersteld de juiste methode te gebruiken, afhankelijk van het aantal records dat je terug verwacht, zie De basis .
En behandel dan .then/.catch
volgens uw bedrijfslogica. Ik kan hier niet specifieker zijn, omdat je hier geen verdere details over hebt gegeven.