Bagaimanakah Janji boleh Digunakan untuk Mengendalikan Keputusan MySQL Asynchronous dalam Node.js?

Linda Hamilton
Lepaskan: 2024-10-27 03:43:03
asal
579 orang telah melayarinya

How can Promises be Used to Handle Asynchronous MySQL Results in Node.js?

Gunakan Janji untuk Memproses Nilai Pulangan MySQL dalam Node.js

Sifat asynchronous Node.js menimbulkan cabaran bagi pembangun yang terbiasa dengan pengaturcaraan segerak. Ini boleh diilustrasikan dengan fungsi seperti getLastRecord yang mengambil data daripada fungsi MySQL.

Apabila cuba mengembalikan nilai daripada getLastRecord, pembangun mungkin menghadapi masalah disebabkan sifat async nod. Begini cara untuk menangani perkara ini menggunakan Promises:

<code class="javascript">function getLastRecord(name) {
  return new Promise((resolve, reject) => {
    const connection = getMySQL_connection();
    const query_str =
      "SELECT name, " +
      "FROM records " +   
      "WHERE (name = ?) " +
      "LIMIT 1 ";
    const query_var = [name];

    connection.query(query_str, query_var, (err, rows, fields) => {
      if (err) {
        return reject(err);
      }
      resolve(rows);
    });
  });
}</code>
Salin selepas log masuk

Untuk mengendalikan nilai yang dikembalikan, anda boleh menggunakan kemudian dan menangkap panggilan balik:

<code class="javascript">getLastRecord('name_record').then(function(rows) {
  // Processing of rows goes here
}).catch((err) => { throw err; });</code>
Salin selepas log masuk

Janji membolehkan anda mengelakkan sarang panggilan balik dan menambah baik kod kebolehbacaan. Ia menjadi amat berguna apabila digabungkan dengan Promise.all dan accumulator seperti Array.prototype.reduce.

Atas ialah kandungan terperinci Bagaimanakah Janji boleh Digunakan untuk Mengendalikan Keputusan MySQL Asynchronous dalam Node.js?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!