Rumah > pangkalan data > tutorial mysql > Bagaimanakah Async/Await Boleh Memudahkan Berbilang Pertanyaan MySQL dalam Node.js?

Bagaimanakah Async/Await Boleh Memudahkan Berbilang Pertanyaan MySQL dalam Node.js?

Susan Sarandon
Lepaskan: 2024-12-02 20:59:11
asal
188 orang telah melayarinya

How Can Async/Await Simplify Multiple MySQL Queries in Node.js?

Pengaturcaraan Asynchronous dengan MySQL dalam Node.js Menggunakan Async/Await

Dalam Node.js, operasi tak segerak digunakan secara meluas untuk mengendalikan interaksi pangkalan data dengan cekap. Sintaks async/wait, yang diperkenalkan dengan Node.js 8 dan seterusnya, menawarkan cara yang mudah untuk mengendalikan operasi sedemikian dalam cara seperti segerak.

Pertimbangkan senario di mana anda perlu melaksanakan berbilang pertanyaan terhadap pangkalan data MySQL dan tambahkan hasil mereka pada rentetan. Secara tradisinya, panggilan balik digunakan untuk mengendalikan pertanyaan tak segerak. Walau bagaimanapun, dengan async/menunggu, anda boleh memudahkan dan menyegerakkan proses ini.

Kod berikut menunjukkan cara menggunakan kata kunci async/menunggu dalam Node.js untuk melaksanakan berbilang pertanyaan MySQL dan menambahkan keputusannya:

const mysql = require('mysql'); // or use import if you use TS
const util = require('util');
const conn = mysql.createConnection({ yourHOST/USER/PW/DB });

// node native promisify
const query = util.promisify(conn.query).bind(conn);

(async () => {
  try {
    const rows1 = await query('select count(*) as count1 from file_managed');
    const rows2 = await query('select count(*) as count2 from file_managed');
    const rows3 = await query('select count(*) as count3 from file_managed');
    const rows4 = await query('select count(*) as count4 from file_managed');

    // append the results to a string
    const appendedText = `${rows1[0].count1} - ${rows2[0].count2} - ${rows3[0].count3} - ${rows4[0].count4}`;

    console.log(appendedText);
  } finally {
    conn.end();
  }
})();
Salin selepas log masuk

Dalam kod ini, fungsi pertanyaan telah dibalut dengan util.promisify() untuk mengubah fungsi berasaskan panggil balik menjadi fungsi janji-kembali. Menggunakan sintaks async/menunggu, anda kemudian boleh melaksanakan berbilang pertanyaan secara berurutan. Hasil daripada setiap pertanyaan diberikan kepada pembolehubah dan rentetan terakhir yang dilampirkan dilog ke konsol.

Atas ialah kandungan terperinci Bagaimanakah Async/Await Boleh Memudahkan Berbilang Pertanyaan MySQL 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