PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Kembali dalam janji-janji

Kode itu memiliki dua masalah sekaligus:

  • penggunaan janji tidak valid, saat berada di dalam .catch Anda melakukan return result , bukan itu cara penanganan penolakan janji, Anda harus memberikan penanganan kesalahan, atau membuang kembali / menolak kesalahan.
  • penggunaan pg-promise yang tidak valid Perpustakaan. Anda menggunakan metode satu itu seharusnya menolak ketika apa pun selain 1 catatan dikembalikan, sesuai dokumentasi metode , dan pada saat yang sama Anda mengatakan I need to catch if it returns more than one row... , yang merupakan kontradiksi logis.

Hasilnya adalah sebagai berikut:kueri Anda berhasil dijalankan, dan mengembalikan lebih dari satu catatan, yang pada gilirannya membuat metode satu tolak, lalu Anda ambil alasan penolakan tersebut dan ubah menjadi alasan yang terselesaikan dengan melakukan return result . Secara keseluruhan, kode Anda rusak di semua tempat.

Pertama, dengan pg-promise Anda seharusnya menggunakan metode yang tepat, sesuai dengan jumlah catatan yang Anda harapkan kembali, lihat Dasar-dasar .

Dan kemudian tangani .then/.catch sesuai dengan logika bisnis Anda. Saya tidak bisa lebih spesifik di sini, karena Anda tidak memberikan detail lebih lanjut tentang ini.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Permintaan untuk elemen array di kolom JSON

  2. Peningkatan multi-nilai PostgreSQL

  3. Cara memanggil prosedur tersimpan dan mendapatkan nilai pengembalian di Slick (menggunakan Scala)

  4. Bagaimana cara membuat bidang dengan daftar kunci asing di SQLAlchemy?

  5. Menutup koneksi klien postgres (pg) di node.js