そのコードには同時に2つの問題があります:
-
.catch
内の場合、promiseの使用が無効ですreturn result
、それはpromiseの拒否が処理される方法ではありません。エラー処理を提供するか、エラーを再スロー/再拒否する必要があります。 - pg-promise
の無効な使用 図書館。メソッド
one を使用します に従って、1つのレコード以外が返された場合は拒否されるはずです。メソッドのドキュメント 、同時に、 I need to catch if it returns more than one row...
、これは論理的な矛盾です。
結果は次のとおりです。クエリは正常に実行され、複数のレコードが返されます。これにより、メソッド1つ
拒否し、return result
を実行して、拒否理由を取得し、解決済みの理由に変換します。 。全体として、コードはいたるところに壊れています。
まず、pg-promise を使用します 期待するレコードの数に応じて、正しい方法を使用することになっています。基本 。
次に、.then/.catch
を処理します あなたのビジネスロジックに従って。これについての詳細を提供しなかったため、ここでこれ以上具体的にすることはできません。