Den koden har två problem samtidigt:
- ogiltigt löftesanvändning, inom
.catch
dureturn result
, det är inte så löftesavvisningar hanteras, du måste antingen tillhandahålla felhanteringen eller kasta om/avvisa felet igen. - ogiltig användning av pg-promise
bibliotek. Du använder metoden one
som ska avvisas när något annat än en post returneras, enligt metodens dokumentation
, och samtidigt säger du
I need to catch if it returns more than one row...
, vilket är en logisk motsägelse.
Resultatet av det är som följer:din fråga körs framgångsrikt och returnerar mer än en post, vilket i sin tur gör metoden ett
avvisa, och sedan tar du skälet för avslaget och gör det till ett löst genom att göra return result
. Sammantaget är din kod trasig överallt.
Först med pg-promise du ska använda rätt metod, beroende på antalet poster du förväntar dig tillbaka, se Grunderna .
Och hantera sedan .then/.catch
enligt din affärslogik. Jag kan inte vara mer specifik här, eftersom du inte angav ytterligare information om detta.