Rumah  >  Artikel  >  pangkalan data  >  Bagaimana Mengendalikan Nilai Pulangan MySQL Secara Asynchronous dalam Node.js dengan Janji?

Bagaimana Mengendalikan Nilai Pulangan MySQL Secara Asynchronous dalam Node.js dengan Janji?

Barbara Streisand
Barbara Streisandasal
2024-10-26 16:33:02181semak imbas

How to Handle MySQL Return Values Asynchronously in Node.js with Promises?

Memanfaatkan Janji untuk Memproses Nilai Pulangan MySQL dalam Node.js

Dalam peralihan daripada Python kepada Node.js, sifat tak segerak Node. js boleh memberikan cabaran. Pertimbangkan senario di mana anda perlu mengembalikan nilai daripada fungsi MySQL, seperti getLastRecord(nama).

Secara tradisinya, Node.js menggunakan panggilan balik untuk operasi tak segerak. Walau bagaimanapun, untuk mengendalikan sifat tak segerak getLastRecord(), kami akan memanfaatkan Promises.

Untuk melaksanakan fungsi menggunakan Promise:

function getLastRecord(name) {
  return new Promise((resolve, reject) => {
    // Setup MySQL connection and query
    // ...

    connection.query(query_str, query_var, (err, rows, fields) => {
      if (err) {
        return reject(err); // Handle error
      }
      resolve(rows); // Resolve with results
    }); // Callback function
  });
}

Untuk mengendalikan nilai yang dikembalikan, anda boleh rantai .then() dan .catch() panggil balik pada Promise:

getLastRecord('name_record')
  .then((rows) => {
    // Handle returned rows here
    console.log(rows);
  })
  .catch((err) => {
    // Handle errors here
    console.log(err);
  });

Anda juga boleh melaksanakan semakan bersyarat:

getLastRecord('name_record')
  .then((rows) => {
    if (rows.length > 20) {
      console.log('action');
    }
  });

Dengan menerima pakai Janji dalam senario ini, anda memperkenalkan pendekatan yang lebih berstruktur dan boleh dibaca untuk mengendalikan operasi tak segerak, memastikan pangkalan kod yang lebih bersih dan boleh diselenggara.

Atas ialah kandungan terperinci Bagaimana Mengendalikan Nilai Pulangan MySQL Secara Asynchronous dalam Node.js dengan Janji?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn