PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Trở lại trong pg-hứa

Mã đó có hai vấn đề cùng một lúc:

  • sử dụng lời hứa không hợp lệ, khi bên trong .catch bạn return result , đó không phải là cách xử lý từ chối lời hứa, bạn phải cung cấp cách xử lý lỗi hoặc ném lại / từ chối lại lỗi.
  • sử dụng pg-promise không hợp lệ thư viện. Bạn sử dụng phương pháp một điều đó phải từ chối khi bất kỳ thứ gì khác ngoài 1 bản ghi được trả lại, theo tài liệu của phương pháp , đồng thời bạn đang nói I need to catch if it returns more than one row... , đó là một mâu thuẫn logic.

Kết quả của nó như sau:truy vấn của bạn thực thi thành công và trả về nhiều bản ghi, do đó tạo ra phương thức một từ chối, và sau đó bạn lấy lý do từ chối và biến nó thành một lý do đã được giải quyết bằng cách thực hiện return result . Nói chung, mã của bạn bị hỏng khắp nơi.

Đầu tiên, với pg-promise bạn phải sử dụng đúng phương pháp, theo số lượng bản ghi mà bạn mong đợi trở lại, hãy xem Cơ bản .

Và sau đó xử lý .then/.catch theo logic kinh doanh của bạn. Tôi không thể nói cụ thể hơn ở đây, vì bạn đã không cung cấp thêm chi tiết về điều này.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. pgAdmin Alternatives - PostgreSQL Database Management GUI ClusterControl

  2. Cài đặt PL / Java 1.5.2 trong PostgreSQL 11

  3. lỗi psycopg, cột không tồn tại

  4. Trích xuất nhiều cấp độ dữ liệu xml bằng cách sử dụng xpath trong postgres

  5. Cách thiết lập cơ sở dữ liệu PostgreSQL trong Django